美文网首页Git
Git版本库管理

Git版本库管理

作者: 王勇1024 | 来源:发表于2019-05-17 22:57 被阅读0次

    新建本地仓库

    $ mkdir test
    $ cd test/
    $ git init
    已初始化空的 Git 仓库于 /Users/admin/git/test/.git/
    

    执行git init命令后,Git 会在当前目录下创建一个隐藏的.git目录,Git 把所有修订信息都放在这唯一的顶层.git目录里。

    将文件添加到版本库中

    首先创建一个 HelloGit.txt 文件,内容为“Hello Git",将该文件加入到 Git 版本库中:

    git add HelloGit.txt
    

    此时,Git 还只是暂存(staged)了这个文件,这是提交之前的中间步骤。之所以将 add 和 commit 分开,是为了防止频繁的文件修改导致版本库发生频繁变更。

    查看版本库状态

    可以通过git status命令查看版本库的当前状态

    $ git status
    位于分支 master
    
    尚无提交
    
    要提交的变更:
      (使用 "git rm --cached <文件>..." 以取消暂存)
    
        新文件:   HelloGit.txt
    

    提交

    可以通过git commit命令将变更提交到版本库中,提交时必须指定日志信息和作者:

    $ git commit -m "Initial git repostory" --author="Wang Yong <wangyong@example.com>"
    [master(根提交) b7357c7] Initial git repostory
     1 file changed, 1 insertion(+)
     create mode 100644 HelloGit.txt
    

    再次查看 Git 状态:

    $ git status
    位于分支 master
    无文件要提交,干净的工作区
    

    配置提交作者

    在对版本库做多次提交之前,应该建立一些基本环境和配置选项。最基本的是,Git 必须知道你的名字和email地址。

    git config user.name "John Doe"
    git config user.email "john.doe@example.com"
    

    也可以使用 GIT_AUTHOR_NAMEGIT_AUTHOR_EMAIL 环境变量告诉 Git 你的姓名和 email 地址。

    查看提交记录

    可以通过git log命令查看提交记录:

    $ git log
    commit b7357c798f5f17cb9ea308592ff6c3fe3609cc39 (HEAD -> master)
    Author: Wang Yong <wangyong@example.com>
    Date:   Fri May 17 22:17:05 2019 +0800
    
        Initial git repostory
    

    如果想查看特定提交的更加详细的信息,可以通过 git show命令带一个提交码。

    $ git show
    commit b7357c798f5f17cb9ea308592ff6c3fe3609cc39 (HEAD -> master)
    Author: Wang Yong <wangyong@example.com>
    Date:   Fri May 17 22:17:05 2019 +0800
    
        Initial git repostory
    
    diff --git a/HelloGit.txt b/HelloGit.txt
    new file mode 100644
    index 0000000..9f4d96d
    --- /dev/null
    +++ b/HelloGit.txt
    @@ -0,0 +1 @@
    +Hello Git
    

    另一种查看方式是使用show-branch,提供当前开发分支简介的单行摘要。

    $ git show-branch --more=10
    [master] Add test2.txt
    [master^] Add test.txt
    [master~2] Initial git repostory
    

    参数--more表示额外10个版本,但因为只有3个版本,所以只显示了三行。如果不指定--more,则只显示最近一次提交。

    查看提交差异

    可以通过git diff加两次提交的ID来查看两次提交的差别。

    $ git diff 604b07583a158dae76c2b1370dc65a715fd8f8bd cda17dd8c0b05abfcc2fa6ba5d5998cb6260b9b7
    diff --git a/test2.txt b/test2.txt
    deleted file mode 100644
    index a42051c..0000000
    --- a/test2.txt
    +++ /dev/null
    @@ -1 +0,0 @@
    -I Love China!
    

    删除和重命名

    删除test2.txt文件:

    $ git rm test2.txt
    rm 'test2.txt'
    
    $ git commit -m "Remove test2.txt"
    [master 36cdfac] Remove test2.txt
     1 file changed, 1 deletion(-)
     delete mode 100644 test2.txt
    

    将test.txt重命名为test3.txt:

    $ git mv test.txt test3.txt
    
    $ git commit -m "Move test.txt to test3.txt"
    [master a51db3a] Move test.txt to test3.txt
     1 file changed, 0 insertions(+), 0 deletions(-)
     rename test.txt => test3.txt (100%)
    

    clone版本库

    如果已经存在一个初始版本库,就可以通过git clone命令创建一个完整的副本。

    $ git clone test test_replica
    正克隆到 'test_replica'...
    完成。
    

    一旦复制了一个版本库,就可以修改这个复制版本、做出新的提交、查看它的日志和历史等。这是一个有着完善历史版本的版本库。
    对复制版本库的修改不会影响到原来的版本库

    相关文章

      网友评论

        本文标题:Git版本库管理

        本文链接:https://www.haomeiwen.com/subject/jgpaaqtx.html