0


Git:签出一个分支

Git:签出一个分支

切换一个本地分支

现在我们得到了一个干净的工作副本,第一件事就是要切换到,或者说 “签出(check out)” 那个新建的分支上去:

$ git checkout contact-form

签出(Checkout),HEAD,和你的工作副本(Working Copy)

分支会自动指向最后一次的提交。而且,一个提交也对应项目中的一个特定版本,Git 总是非常地清楚定位哪些文件属于该分行。
在这里插入图片描述
在这个时间点,仅仅有一个分支被指向 HEAD,或者说仅仅有一个被签出(checked out)的活动分支。在你的工作副本上的文件都会被关联在这个分支上。所有其它的分支以及它们的关联文件都被安全地保存在 Git 的数据库中了。

指定另外一个分支为活动分支(比如我们之前建立的 “contact-form” ),可以使用 “git checkout” 命令。这个命令会为我们完成两件事:

(a) 它会让 HEAD 指针指向这个 “contact-form” 分支。
(b) 它会替换你工作目录(working directory)中的所有文件,并且完全匹配它们的版本到 “contact-form”。
再执行一下 “git status” 命令,你将看到我们现在已经切换到分支 “contact-form” 上了。从现在开始我们所有的改动和提交都将只适用于这个分支,直到我们再次使用 “checkout” 命令切换到其它分支上去。

让我们来验证一下。建立一个新的文件并且命名为 “contact.html” 然后提交它:

$ git add contact.html
$ git commit -m "Add new contact form page"
$ git log
commit 56eddd14cf034f4bcb8dc9cbf847b33309fa5180
Author: Tobias Günther <xx>
Date: Fri Jul 2610:56:162013+0200

    Add new contact form page

commit 2dfe283e6c81ca48d6edc1574b1f2d4d84ae7f1
Author: Tobias Günther <xx>
Date: Fri Jul 2610:52:042013+0200

    Implement the new login box

commit 2b504bee4083a20e0ef1e037eea0bd913a4d56b6
Author: Tobias Günther <xx>
Date: Fri Jul 2610:05:482013+0200

    Change headlines for about and imprint

注意观察这个日志信息,你会看到那个新提交的文件被正确保存下来了,到目前为止这并没有什么特别的。但是现在让我们切换回 “master” 分支,并且再来观察下一个它的日志信息:

$ git checkout master
$ git log
commit 2dfe283e6c81ca48d6edc1574b1f2d4d84ae7f1
Author: Tobias Günther <xx>
Date: Fri Jul 2610:52:042013+0200

    Implement the new login box

commit 2b504bee4083a20e0ef1e037eea0bd913a4d56b6
Author: Tobias Günther <xx>
Date: Fri Jul 2610:05:482013+0200

    Change headlines for about and imprint

你会发现到那个注释为 “Add new contact form page” 的提交并不在这里,这是因为我们操作仅仅只针对于当时的那个 HEAD 分支(当时的 HEAD 分支应该是 “contact-form”,而不是 “master” )。这正是我们想要的结果,我们的改动应该仅仅保持在它对应的分支环境中,并不会影响其他的分支环境。

标签: git github

本文转载自: https://blog.csdn.net/it_xiangqiang/article/details/125643511
版权归原作者 给我打包一份三十块钱的外卖 所有, 如有侵权,请联系我们删除。

“Git:签出一个分支”的评论:

还没有评论