# git 使用技巧

## 设置默认编辑器为 vim
```
git config --global core.editor vim
```

## 问题`fatal: in unpopulated submodule 'xxx'`的解决
出现这个问题的原因 clone 的别人的项目之后，删除项目里的`.git`文件就直接添加到了自己的版本控制里面，解决方案，执行
`git rm --cached . -rf`，再添加文件和提交。

## "merge conflict" 解决
对于纯文本文件的冲突解决，可以参考[该文章](https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344)，没什么太多好说的。

对于二进制文件，编辑二进制文件来解决冲突是不现实的，要么选择对方的修改，要么选择自己的修改，可以使用`git checkout`的`--theirs`或者`--ours`选项：
```sh
git pull
git checkout --theirs YOUR_BINARY_FILE
// git checkout --ours YOUR_BINARY_FILE
git add YOUR_BINARY_FILE
git commit -m 'merged with the remote repos.'
git push
```


