Git常用指令集合 (基本操作)

Git是一种非常优秀的免费开源分布式版本控制系统。本文将对常用的命令进行集中记录,以方便查阅。
需要注意的是,这里我只简要记录指令功能,对于新人学习来说还是推荐廖雪峰老师的教程,非常浅显易懂。 
本篇文章是关于Git的基本操作指令,接下来的文章会逐步总结Github远程仓库、分支管理与标签管理的各种相关操作指令。

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 可反复多次使用,添加多个文件。
-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 commit或git 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。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值