平时发现有很多git操作,但是有时候总忘记,这里简单记录下,怕自己以后找不到了
git commit使用vim编辑
在本地git目录中,vi .git/config,然后在[core]加上editor = vim,这样我们在执行git commit时候,就会使用git编辑,而不是使用默认的nano编辑器,更改后config文件如下:
1 [core]
2 repositoryformatversion = 0
3 filemode = true
4 bare = false
5 logallrefupdates = true
6 editor = vim
git 查看改动指令
git log -p file 可以看到一个文件的所有改动历史
git log --pretty=oneline file 可以看到一个文件的所有改动提交
git show 可以看到本地版本和上一版本的改动
git show commit id 可以看到这个commit id的改动
git分支操作
git branch dev 创建分支dev
git checkout dev 切换到分支dev
git checkout -b dev 在现在分支上新建立并切换分支dev,
git branch -d dev 删除分支dev
git 改动与提交
git reset --hard origin/master commit id 丢弃所有的本地改动与提交 直接切换到某个分支的最新代码上或者某个提交
git checkout -f 强制放弃本地所有改动
git checkout file 强制放弃某个文件的改动
git checkout dev file 可以把某个分支的文件切换到这个分支上
git patch
git format-patch -1 可以生成之前几次提交的patch,patch名字是commit的内用,这里输入的-1就生成一次提交的,可以生成N次的,比较灵活
git format-patch commit id 可以生成commit id的那次改动的patch
git apply --stat newpatch.patch 先检查patch文件
git apply --check newpatch.patch 检查能否应用成功
git am --signoff < newpatch.patch 打补丁