606 字
3 分钟
git的基本使用
Git基础
创建git仓库
- 初始化仓库:在当前目录下,终端输入git init,然后会得到一个.git文件,然后便完成了仓库的初始化。
- 克隆已有的仓库:git clone [url]。这会得到和克隆仓库相同的文件夹,同样也可以指定文件夹名,例如git clone [url] mygit。
Git分支
分支
- 创建一个新的分支: git branch name。这会创建一个名叫name的指针指向当前的commit。但是这并不会让HEAD指针切换到name分支上。
- 查询方法:可以很简单的通过git log查询。但是一般情况下可以加上--oneline命令和--decorate命令,前者只会显示ID和提交信息,后者可以显示指向commit的所有指针(包括分支和标签)。也可以再结合--graph命令,这样会显示分支图。
- 切换分支:git checkout branch_name。
- 创建并切换到分支:git checkout -b branch_name
基本分支和合并(例子)
- 创建一个新的分支iss53用于在issue #53上继续进行。
- 然后现在,需要需要切换回原来的master分支,修复一个bug。
- 我们创建一个新的hotfix分支,来修复bug。
- 修复好并测试之后,确保hotfix没问题,然后就可以进行合并工作,把hotfix合并到master分支:
git checkout master
git merge hotfix- 现在已经不需要hotfix分支,运行git branch -d hotfix删除该分支。
- 切换回iss53分支,继续工作。
- 现在issue #53已经完成,并且准备合并到master分支中。采取第4步相同的操作。(这会创建一个新的快照,并且master分支指向它)
- 删除iss53分支。
合并中的分歧
如果发生分歧,此时并不会直接提交一个新的commit。可以使用git status来查看合并中的分歧。然后可以打开产生分歧的文件,里面会有git的标记。然后手动选择一个即可。最后再commit即可。 注意:还有一个技巧就是使用git mergetool。
分支管理
- 可以通过git branch或git branch -v查看,后面一项能看到最后一次提交的commit。
- git branch --merged来查看和当前分支(HEAD所指)合并的分支,- git branch --no-merged来看没合并的。
- git branch -d -D branch_name可以强制删除(- -D)分支。

