码迷,mamicode.com
首页 > 其他好文 > 详细

Git常用命令速查

时间:2018-07-16 00:28:57      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:org   tar   com   ast   版本   查看   color   更新   data   


[常用工具] [命令速查] [v1.0]


前言

    Git 是一款强大并开源的分布式版本控制系统,在多人合作项目中发挥着不可忽视的作用。工具和语言要多用才不会被遗忘!为了我那糟糕的记性,特写下本文以备日后查用。
    在此,还要感谢廖雪峰大大LearnGitBranching网站对我学习使用Git的帮助。他们的教程对初学者非常友好。

 

本地操作

提交:

1 git commit

创建分支:

1 git branch [NewBranchName]

切换分支:

1 /* 切换到[BranchName]分支 */
2 git checkout [BranchName]
3 /* 创建并切换到[NewBranchName]分支 */ 4 git checkout -b [NewBranchName]

合并分支:

1 /* 在新的记录节点上进行合并,将当前分支标签移到该节点;
2    新节点的父节点是被合并的两个节点! */
3 git merge [BranchName]
4 /* 在新的记录节点上进行合并,废除当前分支并将当前分支标签移到该节点; 5 新节点的父节点是[BranchName]分支上被合并的节点! */ 6 git rebase [BranchName]
 1 /*
 2   HEAD 总是指向当前的工作节点;
 3   HEAD 在默认情况下指向当前的分支标签;
 4   当前的分支标签通常指向该分支的最近一次提交的节点。
 5 */
6 /* HEAD移动到[NodeOfHash]对应的节点。 */ 7 git checkout [NodeOfHash]
8 /* 将 HEAD 移动到[目标]节点的上一个节点,[^]可以重复使用。 */ 9 git checkout [[BranchName]/[NodeOfHash]/HEAD]^
10 /* 将 HEAD 移动到[目标]节点的上[NUM]个节点。 */ 11 git checkout [[BranchName]/[NodeOfHash]/[HEAD]~<NUM>
12 /* 13 [^]后可以跟数字,其代表进入的分支序号; 14 [^]和[~]亦可以混合使用,一般用来表示向上移动到第某个分支的某个节点。 15 */

强制修改分支:

1 /* 强制使[目标]分支标签指向[目标]节点。 */
2 git branch -f [BranchName] [[BranchName]/[NodeOfHash]/HEAD][[^]/[~<NUM>]]

查询:

1 /* 查看所有日志信息(不能看到被删除的节点信息)。 */
2 git log
3 /* 查看所有分支的所有操作记录(包括被删除的节点信息)。 */ 4 git reflog
5 /* 显示工作目录和暂存区的状态。 */ 6 git status

撤销:

 1 /* 将当前分支标签退回到[目标]节点,该操作对远程仓库无效。 */
 2 git reset [[BranchName]/[NodeOfHash]/HEAD][[^]/[~<NUM>]]
3 /* 复制[目标]节点并链接它,将当前分支标签指向该节点。 */ 4 git revert [[BranchName]/[NodeOfHash]/HEAD][[^]/[~<NUM>]]
5 /* 将工作区的内容撤销到最近一次add或commit操作。 */ 6 git checkout -- [FileName]
7 /* 将文件从暂存区退回到工作区。 */ 8 git reset HEAD [FileName]
9 /* 将版本库退回到HEAD所指的版本,同时清空暂存区并让工作区的内容与回退版本一致。 */ 10 git reset --hard HEAD

整理提交树:

1 /* 按顺序将[列表]节点复制并放在当前工作节点链下,并使当前标签指向放置的最后一个节点。 */
2 git cherry-pick [[BranchName]/[NodeOfHash]/HEAD] ...
3 /* 4 触发rebase命令的交互模式,可将[选取]节点的内容复制并放在[目标]节点开辟的匿名分支下,并使当前标签指向放置的最后一个节点; 5 其中,pick为取消选择,第二个可选参数为[选取]放置的最后一个节点(选取范围为由该节点向上递推直到分叉节点前为止)。 6 */ 7 git rebase -i [[BranchName1]/[NodeOfHash1]/HEAD1] [[BranchName2]/[NodeOfHash2]/HEAD2]

tag:

1 /* 分支标签及分支内的节点容易变动,[tag]标签用作定位锚点。 */
2 git tag [TAG] [[BranchName]/[NodeOfHash]/HEAD][[^]/[~<NUM>]]

 


远程操作

克隆仓库:

1 git clone [URL] [DirName]

[orgin/master]:

1 /*
2   克隆后,在本地仓库默认会出现[orgin/master]的分支标签;
3   [orgin/master]标签一直指向与远程仓库通信的最近一次的 master 分支节点;
4   在[orgin/master]标签上做commit操作会产生HEAD分离。
5 */

fetch操作:

1 /* 更新远程仓库中缺失的记录节点,并将[远程仓库]标签指向[更新]节点。 */
2 git fetch
3 /* 指定从远程仓库更新的[目标]内容并将它放入[目标]分支中。 */
4 git fetch origin [RemoteBranchName]:[LocalBranchName]

pull操作:

1 /* git fetch;git merge [orgin/master]的组合。 */
2 git pull
3 /* git fetch;git rebase [orgin/master]的组合。 */
4 git pull --rebase

push操作:

1 /* 将当前分支推送到远程仓库中。 */
2 git push
3 /* 将本地分支的[目标]内容提交到[目标]远程分支;
4    该命令可以用来[创建]和[删除]远程分支。 */
5 git push origin [LocalBranchName]:[RemoteBranchName]

 

Git常用命令速查

标签:org   tar   com   ast   版本   查看   color   更新   data   

原文地址:https://www.cnblogs.com/wangjun1995/p/9315669.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!