公司使用SVN来管理代码,我想推广Git,但是难度很大,只能在自己做的小项目中折腾一下。
git-svn用过一段时间,总感觉很别扭,就像有些人在Emacs里使用viper一样。
Git自己也花了不少时间学习,应该是入门了。
但是因为不常用,有几条用法老是记不住,在此总结一下强化记忆。
(0) linux.git和linux-stable.git的区别
后者包含了stable版本,比前者稍大一些。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
lipeng@localhost:~$ du -sh ~/linux ~/linux-stable
2.2G /home/lipeng/linux
2.3G /home/lipeng/linux-stable
(1) git remote -v显示clone来源
lipeng@localhost:~/linux$ git remote -v
origin git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (fetch)
origin git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (push)
lipeng@localhost:~/linux-stable$ git remote -v
origin git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git (fetch)
origin git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git (push)
(2) git archive取特定版本的压缩包
只列举最简单的方法,生成tar格式压缩包
git archive -o ~/tmp.tar v2.6.32
(3) git clean清除多余文件
git clean -f -d
其中带-d才清理目录,否则只清理文件
(4) git reset恢复修改的文件
git reset --hard
(5) 显示文件状态
git status -s
类似svn status
(6) git tag带日期时间显示tag
显示一个tag的日期时间
lipeng@localhost:~/linux$ git log -1 --format=%ci v2.6.32
2009-12-02 19:51:21 -0800
显示所有tag的日期时间
lipeng@localhost:~/linux$ git log --tags --simplify-by-decoration --format="%ci %d"
2014-04-13 14:18:35 -0700 (v3.15-rc1)
2014-03-30 20:40:15 -0700 (v3.14)
2014-03-24 19:31:17 -0700 (v3.14-rc8)
git-svn用过一段时间,总感觉很别扭,就像有些人在Emacs里使用viper一样。
Git自己也花了不少时间学习,应该是入门了。
但是因为不常用,有几条用法老是记不住,在此总结一下强化记忆。
(0) linux.git和linux-stable.git的区别
后者包含了stable版本,比前者稍大一些。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
lipeng@localhost:~$ du -sh ~/linux ~/linux-stable
2.2G /home/lipeng/linux
2.3G /home/lipeng/linux-stable
(1) git remote -v显示clone来源
lipeng@localhost:~/linux$ git remote -v
origin git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (fetch)
origin git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (push)
lipeng@localhost:~/linux-stable$ git remote -v
origin git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git (fetch)
origin git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git (push)
(2) git archive取特定版本的压缩包
只列举最简单的方法,生成tar格式压缩包
git archive -o ~/tmp.tar v2.6.32
(3) git clean清除多余文件
git clean -f -d
其中带-d才清理目录,否则只清理文件
(4) git reset恢复修改的文件
git reset --hard
(5) 显示文件状态
git status -s
类似svn status
(6) git tag带日期时间显示tag
显示一个tag的日期时间
lipeng@localhost:~/linux$ git log -1 --format=%ci v2.6.32
2009-12-02 19:51:21 -0800
显示所有tag的日期时间
lipeng@localhost:~/linux$ git log --tags --simplify-by-decoration --format="%ci %d"
2014-04-13 14:18:35 -0700 (v3.15-rc1)
2014-03-30 20:40:15 -0700 (v3.14)
2014-03-24 19:31:17 -0700 (v3.14-rc8)
......
(7) git clone指定特定版本
举一个本地clone的例子,远程clone也一样
lipeng@localhost:~/bak$ git clone ~/linux-stable/.git -b v2.6.32.61 linux-2.6.32.61