Git常用命令总结

来源:互联网 发布:辽宁网络棋牌频道直播 编辑:程序博客网 时间:2024/06/03 03:52

1. 创建版本库

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

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

$ git initInitialized 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 statusOn branch masterInitial commitUntracked files:  (use "git add <file>..." to include in what will be committed)readme.txtnothing 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 masterChanges to be committed:  (use "git reset HEAD <file>..." to unstage)modified:   readme.txtnew 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.txtindex 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 b201285c7a470a70e9637827c558247bb4326cdcAuthor: yuge <yuge@126.com>Date:   Tue Jul 25 14:12:02 2017 +0800    git add testcommit 4af2d92cab54ea21af90c5feb2cc0d895c74dbeaAuthor: 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 3628164HEAD is now at 3628164 append GPL

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

$ git reflog4af2d92 HEAD@{0}: reset: moving to HEAD^25606f8 HEAD@{1}: commit: add test4af2d92 HEAD@{2}: reset: moving to HEAD^b201285 HEAD@{3}: commit: git add test4af2d92 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 时的状态。

原创粉丝点击