git使用

本文为学习廖雪峰的教程后总结而得http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013743858312764dca7ad6d0754f76aa562e3789478044000

1、安装git后运行git bash

2、自报家门,git bash中输入

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。

3、创建版本库

这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

选择一个合适的地方,创建一个空目录:

$ mkdir ylxgit
$ cd ylxgit
$ pwd
/e/appDemo/gitRepository/ylxgit
pwd命令用于显示当前目录。在我的pc上,这个仓库位于/e/appDemo/gitRepository/ylxgit

通过git init命令把这个目录变成Git可以管理的仓库

$ git init
Initialized empty Git repository in /e/appDemo/gitRepository/ylxgit

现当前目录下就多了一个.git的目录

把文件添加到版本库

千万不要使用Windows自带的记事本编辑文本文件

编写一个demo.txt文件,内容如下:

demo.txt

用命令git add告诉Git,把文件添加到仓库

$ git add demo.txt

用命令git commit告诉Git,把文件提交到仓库

$ git commit -m '初始化文件'
[master (root-commit) 99f629c] 初始化文件
 1 file changed, 1 insertion(+)
 create mode 100644 demo.txt

-m后面输入的是本次提交的说明,可以输入任意内容

git commit命令执行成功后会告诉你,1个文件被改动(我们新添加的demo.txt文件),插入了一行内容(demo.txt有1行内容)。

commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

$ git add file1.txt
$ git add file2.txt file3.txt
$ git commit -m "add 3 files.
我们继续修改readme.txt文件,改成如下内容:
demo.txt
demo.txt2

用git diff来查看对代码的更改

$ git diff demo.txt
diff --git a/demo.txt b/demo.txt
index a2adeb5..9291a06 100644
--- a/demo.txt
+++ b/demo.txt
@@ -1 +1,2 @@
-demo.txt
\ No newline at end of file
+demo.txt
+demo.txt2
\ No newline at end of file
然后把新文件按照上文介绍,添加到版本库并提交

版本回退

已经commit的变更

用git log命令查看对文件做过的所有变更

$ git log
commit 8a07e2facd14fbf9f5adf869caf96fd7685a35e4
Author: ylx <925237521@qq.com>
Date:   Fri Nov 18 16:00:03 2016 +0800

    change 2

commit 99f629c8bbf4147c4efbe3506267045228e3e89e
Author: ylx <925237521@qq.com>
Date:   Fri Nov 18 15:55:55 2016 +0800

    初始化文件
若觉得太乱,可使用git log --pretty=oneline命令
$ git log --pretty=oneline
8a07e2facd14fbf9f5adf869caf96fd7685a35e4 change 2
99f629c8bbf4147c4efbe3506267045228e3e89e 初始化文件

git reset命令回退

通过head^回退
在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本也可以写成HEAD~100

我们现在将当前版本回退为上一版本

$ git reset --hard HEAD^
HEAD is now at 99f629c 初始化文件

通过版本号回退
$ git reset --hard 8a07e2
HEAD is now at 8a07e2f change 2
版本号不用写全,只要写出前几个,可以和其他文件的版本号区分就好了

寻找版本号

git reflog可以查看我们对git中文件所进行的所有操作,从而可以看到该操作后的版本号

$ git reflog
8a07e2f HEAD@{0}: reset: moving to 8a07e2
99f629c HEAD@{1}: reset: moving to HEAD^
8a07e2f HEAD@{2}: commit: change 2
99f629c HEAD@{3}: commit (initial): 初始化文件

撤销未提交到暂存区的更改

git checkout -- file可以丢弃工作区的修改:
命令git checkout -- demo.txt意思就是,把demo.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是demo.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是demo.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。

只撤销提交到暂存区,未commit的更改

用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset HEAD demo.txt
Unstaged changes after reset:
M       demo.txt
然后再通过上面的方法,用git checkout指令撤销工作区的更改




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值