Git常用指令集合

来源:互联网 发布:linux vim安装包下载 编辑:程序博客网 时间:2024/05/22 02:16

    Git是一种非常优秀的免费开源分布式版本控制系统。本文将对常用的命令进行集中记录,以方便查阅

需要注意的是,这里我只简要记录指令功能,对于新人学习来说还是推荐廖雪峰老师的教程,非常浅显易懂。 

 

目录链接:

1.基本操作

2.远程仓库

3.分支管理


基本操作速查:

1.安装完成后设置:

$ git config --global user.name "Your Name"

$ git config --global user.email"email@example.com"

--global  这个参数表示这台机器上所有的Git仓库都会使用这个配置

 

2.创建版本库:

$ mkdir learngit

$ cd learngit

$ pwd

创建空目录,pwd命令用于显示当前目录。

 

$ git init

把目录变成仓库。

 

$ ls -ah

查看隐藏的.git目录。

 

3.添加文件到版本库:

$ git add readme.txt

$ git commit -m "wrote a readme file"

创建文件(例如:readme.txt)后,把文件添加到仓库,命令git add <file>可反复多次使用,添加多个文件。

-m后面输入的是本次提交的说明.commit可以一次提交很多文件。

每次修改,如果不add到暂存区,那就不会加入到commit中。

 

4.状态及修改查看:

  $ git status

  查看工作区状态。

 

$ git diff

查看修改内容。


$ git diff HEAD -- readme.txt

上一版commit提交之后再修改出新一版还未提交时,查看当前工作区和版本库里面最新版本的区别。

 

5.版本回退:

$ git log

查看提交历史,以便确定要回退到哪个版本。如果嫌输出信息太多,可以加上--pretty=oneline参数。

显示内容里commit后的数字是commit id(版本号)。从新版本退回旧版本时新版本号不会再显示,若要重回新版本,请参考下文git reflog命令。

 

$ git reflog

查看命令历史,以便确定要回到未来的哪个版本。

 

$ git reset --hard commit_id

在各版本之间穿梭。用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^。要退回上一版本commit_id可以用HEAD^

 

$ cat readme.txt

Git控制台显示文本内容,适合小文本快速查看。


$ git checkout -- file

命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令。

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在撤销修改就回到和版本库一模一样的状态,即最近一次commit的版本;

一种是readme.txt已经add添加到暂存区后,又作了修改,现在撤销修改就回到添加到暂存区后的状态,即放弃文件添加到暂存区之后在工作区又做的修改,不是放弃暂存区文件。

若是已经add添加到暂存区后,想放弃暂存区的内容,请参考下文的git reset HEAD file

总之,就是让这个文件回到最近一次git commitgit add时的状态。

 

  $ git reset HEAD file

把暂存区的修改撤销掉(unstage),重新放回工作区。执行命令后暂存区空,工作区有修改,若再想将工作区的修改撤销,请参考上文git checkout -- file

  git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。用HEAD表示最新的版本。

 

$ git rm readme.txt

删除readme.txt文件,需要再commit提交后才会修改版本库。若发现错删,但还未提交版本库,请使用git checkout回撤。

 

若文件修改后已经commit提交到了版本库,再想撤销修改请参考上文git reset --hard commit_id