git命令不多,但是用法却有很多。这篇文章会长期更新,但是当然不会面面俱到,只是记录一些应用场景。
git diff
使用VCS,比较版本差异是最常用的一个功能。
我个人写代码常常是这样的流程:
- 修改代码,或文档。
-
git status
看改了哪些文件,有没有新增的文件。 - 有新文件的话
git add
一下。 -
git difftool
仔细排查修改有没有错误。 - 认为没有错误了就
git commit -am
或git commit -as
。
这个过程中,比较命令自然是重度使用的一个。常常需要反复比较好几次,才有自信commit。
1. 查看被修改的文件列表
如果只是查看当前修改了哪些文件(和HEAD比较),git status
就够了。
如果是查看以前的commit之间修改了哪些文件,可以参考下面的命令。重点是--name-only
和--name-status
,其他参数就不一一说明了。
查看两次commit之间修改了哪些文件:
git diff --name-only HEAD~4 HEAD~5
查看两次commit之间修改了哪些文件, 以及对文件做了什么类型的修改(M - modify, D - delete, A - add):
git diff --name-status HEAD~4 HEAD~5
git remote
git remote
查看远程repo的别名。git remote -v
查看远程repo的别名和地址。
1. 用移动硬盘或U盘当git server
我这么做,是因为某一次要去山上住几天,没有网络,我妈又不让我带电脑,但是我又很希望山上那几天能写写代码,等有网时再push到github。所以有了下面的步骤:
- 自己电脑上已经从github上clone了一个repo,并做了修改。
- 插入移动硬盘,假设挂载到
/media/xdisk
,创建目录mkdir /media/xdisk/repo.git
-
cd /media/xdisk/repo.git
然后git init --bare
- 切回到本地repo,然后
git remote add usb /media/xdisk/repo.git
。这时候git remote
可以看到origin和usb两个remote端。 - push到移动硬盘
git push usb master
- 拿着移动硬盘去深山里借高僧的电脑~~
- 插入移动硬盘,假设挂载到
/media/ydisk
。 - clone到高僧的电脑
git clone /media/ydisk/repo.git
。 -
cd
到repo目录下写代码。 - 写完
git push master
就好了,然后回家。 - 移动硬盘插到自己电脑上,还是挂载到
/media/xdisk
。 -
git pull usb
然后git push origin master
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。