Git的 checkout 是个本地命令吗?

发布于 2022-08-26 16:59:26 字数 192 浏览 14 评论 0

checkout是切换分支,这个切换仅是在本地所储存的分支分支中切换是吗?

也就是说checkout命令是不需要联网的是吗?

同事写了一个同步脚本为:

git checkout -f
git pull

我理解为:强制checkout到HEAD,然后执行pull,对吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抹茶夏天i‖ 2022-09-02 16:59:26

checkout是本地命令

git-checkout - Checkout a branch or paths to the working tree

git 不需要联网就可以使用,你的理解是对的

git checkout -f 我测试了下,结果是这样的

rails@1hao:~/tmp/tmp$ git branch 
* hello
  master
rails@1hao:~/tmp/tmp$ git checkout -f 
rails@1hao:~/tmp/tmp$ git branch 
* hello
  master

另外 git-checkout man手册里是这样说的

 -f, --force
           When switching branches, proceed even if the index or the working tree differs from HEAD. This is used to throw away local changes.

改了文件,加了个文件测试了下

rails@1hao:~/tmp/tmp$ git status
# On branch hello
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   b
#
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   a
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   c
rails@1hao:~/tmp/tmp$ git checkout -f 
rails@1hao:~/tmp/tmp$ git status 
# On branch hello
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   c
nothing added to commit but untracked files present (use "git add" to track)

那些更改的和添加到缓存区的文件都没有了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文