文章目录
- 恢复暂存区的指定文件到工作区:git checkout
- 创建本地分支来跟踪并拉取远程分支:git switch -c、git checkout -b、git branch --track
- git branch、git push、git fetch 分支相关命令
- 分支合并图:git log --graph
- 参考
恢复暂存区的指定文件到工作区:git checkout
## 恢复暂存区的指定文件到工作区。
## 注意:git add然后git commit后,认为暂存区和本地仓库一致。克隆文件下来时,认为暂存区和远程仓库一致。
$ git checkout -- [file]
$ git checkout [file]
情况:
演示图片:
git checkout -- [file]
下图只是演示下git checkout [file]
和git checkout -- [file]
有相同功能。下图的情况:test.txt中有111111,该文件add进了暂存区。工作区往test.txt中加了个222222,然后恢复暂存区的test.txt到工作区。
git checkout [file]
创建本地分支来跟踪并拉取远程分支:git switch -c、git checkout -b、git branch --track
## 该命令创建本地分支跟踪分支<本地分支名>,并从远程分支<远程主机名>/<远程分支名>拉取代码。
git switch -c <本地分支名> <远程主机名>/<远程分支名>
git checkout -b <本地分支名> <远程主机名>/<远程分支名>
git branch --track <本地分支名> <远程主机名>/<远程分支名>
只演示其中一个命令,另外两个命令效果一样,就不演示了。
git branch、git push、git fetch 分支相关命令
1、在远程仓库新建分支:git branch + git push
git branch dev
:在本地仓库新建dev分支。
git push origin dev
:把本地仓库的dev分支推送到远程仓库。
2、删除远程仓库的分支:git push origin --delete
git push origin --delete <name>
:删除远程仓库的叫name的分支,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支。
3、删除 git branch -r 列表中的追踪分支:git branch -dr
git branch -dr <origin>/<branch-name>
:没有删除远程分支,只是删除 git branch -r 列表中的追踪分支。
4、用本地分支追踪远程仓库分支:git branch --set-upstream-to/git branch -u
## 建立当前分支与指定远程分支的追踪关系,但不会拉取代码。参数"-u"和"--set-upstream-to"同样的意思。
$ git branch -u <远程主机名>/<远程分支名>
$ git branch --set-upstream-to <远程主机名>/<远程分支名>
git branch --set-upstream-to <远程主机名>/<远程分支名>
git branch -u <远程主机名>/<远程分支名>
5、把远程分支的最新情况拉取到本地: git fetch -p
6、查看分支
1、查看本地分支:git branch
git branch
:查看本地分支,当前分支前面会标一个*
号。
2、查看远程分支:git branch -r
git branch -r
![](https://img-blog.csdnimg.cn/20210420121920246.png)
3、查看本地分支和远程分支:git branch -a
git branch -a
![](https://img-blog.csdnimg.cn/20210420121751895.png)
4、查看本地分支对应的远程分支:git branch -vv
git branch -vv
分支合并图:git log --graph
用git log --graph
命令可以看到分支合并图(分支点线图)。
但一般这样用:git log --graph --pretty=oneline --abbrev-commit
。
两者区别如图:
参考
Git branch upstream_tterminator的专栏-CSDN博客_git upstream
git fetch -p 修剪远程分支_雪梅零落-CSDN博客