配置
1. git config
git config 分为全局和局部
全局:git config --glabol
局部:git config
最终会生成配置文件,一般在~/.gitconfig。
2. core
git config --global core.fileMode
git config --global core.quotepath false
git config --global core.editor vim
git config --global core.ignorecase false
git config --global credential.helper store
git config --global credential.helper wincred
git config --global user.name <your name>
git config --global user.email <your_email@example.com>
git config --global push.default simple
key | value | 描述 |
---|---|---|
core.fileMode | true、false | 在对比文件差异时,是否检测文件权限是否改变。由于有umask的存在,可能会使remote的文件权限拉到本地时发生改变,commit时,一堆的文件需要提交,但是他们仅仅是文件权限有所不同。 |
core.editor | 编辑器:vim,emacs | 提交时,使用的编辑器,用于编辑提交的message |
diff.tool | 比较程序:vimdiff,bc | 对比差异时用的程序 |
difftool.prompt | true、false | 启动比较工具时,是否提示 |
操作
查看远端仓库地址
git remote -v
撤销commit
有时候git commit
后需要撤销,修改后在次commit,使用:
git reset --soft HEAD^
这样就成功的撤销了你的commit。注意,仅仅是撤回commit操作,您写的代码仍然保留。HEAD
意思是你当前commit后那个版本,HEAD^
的意思是它的上一个版本,即你最新提交的版本的上一个版本,也可以写成HEAD~1
。如果你进行了2次commit,想都撤回,可以使用HEAD~2
。
除了--soft
选项,还有几个选项可以选择,输入git reset --
让后按两次tab补全,这些选项就自动出来了。
--hard --keep --mixed --quiet --soft
--intent-to-add --merge --patch --recurse-submodules
挑几个常用的注释一下:
--soft
不删除工作空间改动代码,撤销commit,不撤销git add
--hard
删除工作空间改动代码,撤销commit,撤销git add。注意完成这个操作后,就恢复到了上一次的commit状态。
--mixed
不删除工作空间改动代码,撤销commit,并且撤销git add操作这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
生成/应用patch
git format-patch beaa2ecc10b
修改注释
git commit --amend