git 命令进阶

git 常用命令中提到了一些基础的git命令,那里主要关心,如何在github上和本地新建一个仓库,如何从github上下载一个项目以及如何更新github上的项目。

这里将列出一些更细致的命令,比如git提交记录,文件比较,合并等命令。我不会一下子将所有的命令都列出来,随着时间的推移,它应该会有更多的内容。

查看文件提交记录

  • git log , 一个实例输出如下
xuyang@xuyang-desktop:~/tmp$ git log src_ch.md
commit b3eb78e8091e871d3c785953a4322761b2b3513a
Author: jiang-hang <jianghang@bagualu.net>
Date:   Sun Jan 31 17:54:02 2016 +0800

    up

commit 01f16b14185dfc570c0ae673abe7862e8dfeeeff
Author: jiang-hang <jianghang@bagualu.net>
Date:   Sun Jan 31 17:44:59 2016 +0800

    create on my own

比较版本间的变化

如何知道两个版本之间有什么变化?

首先对你关心的文件,比如上面的src_ch.md, 利用git log列出提交记录,如上所示,注意上面输出中commit后面的部分,这是用于标记每个提交的id, 你可以比较上面两次提交之间的区别,命令行如下

git diff b3eb78e8091e871d3c785953a4322761b2b3513a 01f16b14185dfc570c0ae673abe7862e8dfeeeff

命令中diff后面的部分就是上面git log列出的commit id。

比较文件相对本地仓库的改动

要比较本地的某个文件和仓库中的版本的变动, 直接使用

git diff <filename>

查看某个文件的历史版本

在使用git log来查看某个文件的各个提交历史以后,要查看该文件给定的历史版本,使用下面的命令

git show <commitId> <filename>

把给定历史版本设为当前版本

在查看过历史版本后,要把某个历史版本设为当前版本,使用

git checkout <commitId> <filename>

回滚到某个历史版本

使用git log查看历史版本,然后使用

git checkout <commitID>
git checkout master
#do some other edit

使用多个远程库

假设你有多个远程库,一个是github,一个是自己的gitserver,那么你可以把一个本地库和多个远程库连起来

git remote add github https://github.com/jiang-hang/rwp.git
git push -u github master

git remote add origin git@www.bagualu.net:/home/git/rwp.git
git push origin master

git remote ##可以看到有两个远程库

这样将会将本地库和两个远程库连起来,使用git push可分别更新两个远程库。



本文地址: http://www.bagualu.net/wordpress/archives/5379 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注