前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git使用教程

Git使用教程

作者头像
Oceanlong
发布2018-09-21 12:03:05
5530
发布2018-09-21 12:03:05
举报

SVN区别

Git 与 SVN 区别点:

1、GIT是分布式的,SVN不是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。

3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。

4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。

5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

安装

windows

安装包下载地址:https://gitforwindows.org/

mac

自带

GUI

SourceTree安装包下载地址:https://www.sourcetreeapp.com/

工作流

工作流

工作区、暂存区、版本库

工作区:就是你在电脑里能看到的目录。 暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

工作流2

仓库

克隆仓库 git clone [url] 克隆仓库是将仓库中的所有分支全部下载下来。

分支

创建分支

git branch [branchname] git checkout -b [branchname]

切换分支

git checkout [branchname]

合并分支

git merge [branchname]

删除分支

git branch -d [branchname]

提交历史

我们使用git log可以看到git过去提交的日志。在日志界面按向下方向键可以查看更久前的信息,按q退出日志界面。

git log命令可以加非常多的参数与选项以帮助我们更快地获得想要的信息。在此不一一赘述。读者可参考https://blog.csdn.net/daguanjia11/article/details/73823617。或是搜索其他博客进行学习。

git status

git的最常用指令,输出当前仓库的状态,并提示我们接下来的操作。

status

在上图中,我们执行git status指令得到: 我们对三个文件进行了修改。其中有一个在暂存区(绿色),另外两个在工作区(红色)

git diff

在上面的例子中,我们知道在工作区中,我们对app/src/main/java/com/live/longsiyang/openglonandroid/picture/glrender/BitmapEffectGLRender.java进行了修改。但我们具体改了哪些内容要如何查看呢?

git diff app/src/main/java/com/live/longsiyang/openglonandroid/picture/glrender/BitmapEffectGLRender.java

即可看到具体到代码层面的修改。

git rebase

merge

rebase

git rebase 可以提供出更加完美的提交树,方便问题的回溯。

PS:rebase 只能在私人分支上完成

常用操作方法

代码语言:javascript
复制
at master :
git pull
git checkout ocean/develop

ocean/develop:
(after commits)
git rebase master
git add -A
git rebase --continue
...

git push origin ocean/develop --force

(request merge to master)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SVN区别
  • 安装
    • windows
      • mac
        • GUI
        • 工作流
        • 工作区、暂存区、版本库
        • 仓库
        • 分支
          • 创建分支
            • 切换分支
              • 合并分支
                • 删除分支
                • 提交历史
                • git status
                • git diff
                • git rebase
                相关产品与服务
                对象存储
                对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档