内容简介:Git的git-checkout的用法总结。结合前一篇文章,再认真总结一下从上面可见,git checkout是用来切换分支或者回复工作目录的,看到这里,记住这一点,会有很大帮助。(备注:我发现,有的时候,学习的节奏放慢一些,反而其实是更有效率的,反而是更快的。多思考一些,记的更准确,因慢得快)
Git的git-checkout的用法总结。
前言
结合前一篇文章,再认真总结一下 git-checkout
的用法,因为可能一次总结到不了位,那么就不怕啰嗦,不怕重复,多总结几次,这样可能会造成每篇文章内容之间的分布不是那么清晰,将来再做更好的整理吧,因为现在这种方式,对于当前的学习是有帮助的,是从浅入深的。
正文
概要
git-checkout - Switch branches or restore working tree files
从上面可见,git checkout是用来切换分支或者回复工作目录的,看到这里,记住这一点,会有很大帮助。(备注:我发现,有的时候,学习的节奏放慢一些,反而其实是更有效率的,反而是更快的。多思考一些,记的更准确,因慢得快)
语法
git checkout [-q] [-f] [-m] [<branch>] git checkout [-q] [-f] [-m] --detach [<branch>] git checkout [-q] [-f] [-m] [--detach] <commit> git checkout [-q] [-f] [-m] [[-b|-B|--orphan] <new_branch>] [<start_point>] git checkout [-f|--ours|--theirs|-m|--conflict=<style>] [<tree-ish>] [--] <paths>… git checkout [<tree-ish>] [--] <pathspec>… git checkout (-p|--patch) [<tree-ish>] [--] [<paths>…]
用法1
git checkout <branch>
用来切换到一个分支上。切换 index
和工作目录,还有 HEAD
指针到这个分支上。本地发生的修改也会被保留。如果本地不存在这个分支而远程存在同名分支的话,则这个命令相当于:
$ git checkout -b <branch> --track <remote>/<branch>
git checkout -b|-B <new_branch> [<start point>]
-b
表示创建新分支;如果分支存在的话,不进行任何处理。
-B
在创建新分支的功能和 -b
是一样的;但是,如果分支存在的话,它会重置 <start_point>
。
Specifying -b causes a new branch to be created as if git-branch[1] were called and then checked out. In this case you can use the --track or --no-track options, which will be passed to git branch. As a convenience, --track without -b implies branch creation; see the description of --track below. If -B is given, <new_branch> is created if it doesn’t exist; otherwise, it is reset. This is the transactional equivalent of $ git branch -f <branch> [<start point>] $ git checkout <branch> that is to say, the branch is not reset/created unless "git checkout" is successful.
这里涉及到 track
和 <start point>
的概念。
track
表示的是远程仓库与之对应的分支,这个信息被称为 upstream
,上游,远程仓库的,是上游。本地的,是下游,有一个对应的关系。 track
本意是轨迹、跟踪的意思,使用了 --track
或者 --no-track
来设置这个,这个信息会传递给 git branch
。
用法2
git checkout --detach [<branch>] git checkout [--detach] <commit>
切换代码到某一个提交号或者分支上,并且分离了 HEAD
指针,指向了这个提交。这块有点复杂,还需要理解深度理解一下,这个可能要留到下一篇帖子来完成了,争取每天整理一些(2018-08-03)。
整理完成,可以参考这里(2018-08-04)。
用法3
git checkout [<tree-ish>] [--] <pathspec>… git checkout (-p|--patch) [<tree-ish>] [--] [<pathspec>…]
从 index
或者 <tree-ish>
检出代码来替换 <pathspec>
处的代码。如果 <tree-ish>
被指定了,那么 index
和工作空间的代码都会被更新。
The index may contain unmerged entries because of a previous failed merge. By default, if you try to check out such an entry from the index, the checkout operation will fail and nothing will be checked out. Using -f will ignore these unmerged entries. The contents from a specific side of the merge can be checked out of the index by using –ours or –theirs. With -m, changes made to the working tree file can be discarded to re-create the original conflicted merge result.
index
区域可能还有一些没有 merge
的条目,因为之前有失败的 merge
。
后一种用法使用互动的方式来完成这个功能。
到此,这个命令的用法基本整理完,下一步,要实践一些实例。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- UniversalImageLoader的用法总结
- VIM用法总结(备忘)
- JSP基本语句用法总结
- Laravel 事件系统用法总结
- sharp图片库用法总结
- ????️scss/less基本用法总结
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rationality for Mortals
Gerd Gigerenzer / Oxford University Press, USA / 2008-05-02 / USD 65.00
Gerd Gigerenzer's influential work examines the rationality of individuals not from the perspective of logic or probability, but from the point of view of adaptation to the real world of human behavio......一起来看看 《Rationality for Mortals》 这本书的介绍吧!