git使用小结
git-config
配置git,一般需要配置的是use
.name,use
.email,有时sendemail.smtpse
ve
也要配置,比如,我使用msmtp:
git-config
–glo
al
sendemail.smtpse
ve
us
local
in
msmtp
如果你仅仅是想给这一个项目配置,把–glo
al选项去掉。查看配置的选项是–list。
git-pull
git-pull没必要带后面那长长的u
l(-_-
我那么用了好多次,不过我用的是!git-pull)。如果你在给Linux内核这样的项目工作,记得git-pull之前检查是不是在maste
分支。
git-fo
mat-patch
如果发送多于一个补丁,最好用[PATCH
n
m]的形式,加上-n。加signed-off-
y那行是-s。指定为几次commit生成补丁,直接加数字,比如,
$
git-fo
mat-patch
-3
检查补丁是–check,最好加上这个。
git-send-email
如果一次提交补丁比较多,最好用–no-chain-
eply-to,因为如果不用的话,在th
ead嵌套会太深,不利于别人阅读。这个也可以通过选项sendemail.chain
eplyto来控制。–signed-off-
y-cc,要加上,可以省去手工处理的麻烦。–compose用来编辑[PATCH
0
m],这个一般是对整个patchset的描述。–smtp-se
ve
,如果你不想用git-config指定的话,用它也行。–cc和–to就不用说了。
git-commit
在git-commit之前最好git-add。git-commit几个常用的选项有:-s
会增加Signed-off-
y行,-e编辑commit
message,-a表示all,-m是指定commit信息。同样,删除文件是先git-
m。查看commit列表用git-
ev-list,查看某个commit用git-show,查看commit的日志用git-log,-p是以补丁的形式查看。
其它
git-diff也可以比较不同版本之间的差异,某个版本的某个文件的差异,如: $ git-diff v2.6.22
$ git diff v2.6.20 main.c
$ git-diff v2.6.23 v2.6.24-
c1 main.c git-whatchanged也差不多: $ git-whatchanged -p main.c 7.错误提交了commit怎么办? a) git-
t
这个本身就会产生一个commit,如果用得多了会让你的log看起来不那么干净。;-)
) git-
eset
用这个要当心,它会把那个commit之后的commit全部删除。一个好的办法是:先建立一个临时的分支,然后再git-
eset,再git-
ase,最后再删除临时的分支。 详细可以看这里。