606 字
3 分钟
git的基本使用
2023-12-23

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

基本分支和合并(例子)#

  1. 创建一个新的分支iss53用于在issue #53上继续进行。
  2. 然后现在,需要需要切换回原来的master分支,修复一个bug。
  3. 我们创建一个新的hotfix分支,来修复bug。
  4. 修复好并测试之后,确保hotfix没问题,然后就可以进行合并工作,把hotfix合并到master分支:
git checkout master
git merge hotfix
  1. 现在已经不需要hotfix分支,运行git branch -d hotfix删除该分支。
  2. 切换回iss53分支,继续工作。
  3. 现在issue #53已经完成,并且准备合并到master分支中。采取第4步相同的操作。(这会创建一个新的快照,并且master分支指向它)
  4. 删除iss53分支。

合并中的分歧#

如果发生分歧,此时并不会直接提交一个新的commit。可以使用git status来查看合并中的分歧。然后可以打开产生分歧的文件,里面会有git的标记。然后手动选择一个即可。最后再commit即可。 注意:还有一个技巧就是使用git mergetool

分支管理#

  • 可以通过git branchgit branch -v查看,后面一项能看到最后一次提交的commit。
  • git branch --merged来查看和当前分支(HEAD所指)合并的分支,git branch --no-merged来看没合并的。
  • git branch -d -D branch_name可以强制删除(-D)分支。

分支工作流#

持续时间长的分支#

git的基本使用
https://fuwari.vercel.app/posts/git/
作者
pride7
发布于
2023-12-23
许可协议
CC BY-NC-SA 4.0