# 工作中使用Git遇到的问题
# 1.合并之前提交或保存修改
commit your changes or stash them before you can merge这种情况是因为别人修改刘文件并提交,你修改的文件涉及到别人修改到文件。git pull会出现以上情况。
- 解决办法:
- 放弃修改,可以先代码做备份再回退,继续
git pull - 利用
stash数据存储(顺序:git stash ---> git pull ---> git stash pop) 
TIP
git stash:备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。git stash clear: 清空Git栈。此时使用图形化工具会发现,原来stash的哪些节点都消失了。
- 放弃本地修改,直接覆盖
 
git reset --hard git pull1
2 - 放弃修改,可以先代码做备份再回退,继续
 
# 2. 合并代码到fork仓库,出现冲突
 - 解决办法:
fork仓库新建一个临时分支- 跟原本的仓库建立联系:
git remote add upstream xxxx(xxxx指原本仓库地址) - 拉取原本仓库
source branch到fork仓库本地:git fetch upstream test:upstream-test(重命名成upstream-test,避免跟自身test分支冲突) - 然后合入并解决冲突,合入:
git merge upstream-test - 把临时分支推到远程