Git常用命令总结

1. 创建版本库

我们一般把版本库也叫仓库(repository),其实我们可以简单的把它看成一个目录,只不过目录里面的文件都会由 Git 进行管理,当我们对文件进行修改、删除、Git 都可以对其进行跟踪。

那么,如何在本地设置一个代码库呢? 很简单,使用 git init 命令就可以把一个目录变为 Git 可以管理的仓库。

$ git init
Initialized empty Git repository in /Users/yuge/Documents/git_test/.git/

这样,就在本地创建了一个版本库,并且是一个空的版本库。在这个文件夹下有个 .git 的目录,git 就是用这个目录来跟踪管理版本库的。 在linux 下使用 ls -al 命令来进行查看。

2. 文件修改

可以在 git_test 文件夹下新建一个文件 readme.txt ,内容如下:

Git is a distributed version control system.
Git is free software.

此时使用 git status 命令可以查看当前工作区状态,如下:

$ git status

On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	readme.txt

nothing added to commit but untracked files present (use "git add" to track)

提交文件修改需要两步:

第一步,使用 git add 将文件添加到Git版本库;

第二步,使用 git commit 把文件提交到Git版本库。

可以多次使用 git add 添加多个文件,然后使用一次 git commit 提交多个文件,内容如下:

$ git add readme.txt
$ git add test.txt
$ git status 

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	modified:   readme.txt
	new file:   test.txt

$ git commit -m "git add test"

[master b201285] git add test
 2 files changed, 2 insertions(+)
 create mode 100644 test.txt

使用 git diff 命令可查看具体修改细节,如下:

$ git diff 

diff --git a/readme.txt b/readme.txt
index 9247db6..4923cda 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,3 @@
 Git is a distributed version control system.
 Git is free software.
+new line

3. 版本控制

使用 git log 命令可以查看版本历史记录,如下:

$ git log 

commit b201285c7a470a70e9637827c558247bb4326cdc
Author: yuge <yuge@126.com>
Date:   Tue Jul 25 14:12:02 2017 +0800

    git add test

commit 4af2d92cab54ea21af90c5feb2cc0d895c74dbea
Author: yuge <zyuge@126.com>
Date:   Tue Jul 25 14:05:29 2017 +0800

    add readme.txt

在Git中,用 HEAD 表示当前版本,上一个版本就是 HEAD^,上上一个版本就是 HEAD^^,当然往上100个版本写100个 ^ 比较容易数不过来,所以写成 HEAD~100

所有,回退到上一个版本如下:

$ git reset --hard HEAD^
HEAD is now at 4af2d92 add readme.txt

使用sha256值回退,如下:

$ git reset --hard 3628164
HEAD is now at 3628164 append GPL

使用 git reflog 可查看命令历史,如下:

$ git reflog

4af2d92 HEAD@{0}: reset: moving to HEAD^
25606f8 HEAD@{1}: commit: add test
4af2d92 HEAD@{2}: reset: moving to HEAD^
b201285 HEAD@{3}: commit: git add test
4af2d92 HEAD@{4}: commit (initial): add readme.txt

4. 撤销修改

使用 git checkout 丢弃工作区的修改

$ git checkout -- readme.txt

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

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

一种是 readme.txt 已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值