+ + + + + +
问题
1.使用pull后没有将远程文件下载来
可能是本地和远程分支搞反了
+也可以使用fetch然后merge,
+如果提示fatal: refusing to merge unrelated histories,就使用:
+1 | 当在Git中执行git merge命令时,出现"fatal: refusing to merge unrelated histories"错误提示,这通常是因为要合并的两个分支没有共同的提交历史,被认为是不相关的分支。 |
然后将fetch的分支合并到q_2:
+git checkout q_2
+git branch -a:
+1 | master |
git merge remotes/r1/qt_cut_test_2
+然后就可以看到远程的文件了。
+2.使用git pull -f r1 远程:本地
这样远程的文件就会将本地的文件覆盖掉。
+如何恢复呢?
+首先使用git reflog查看提交信息:
+1 | $ git reflog |
第一列类似2ae4d38 是
然后使用git reset
1 | Unstaged changes after reset: |
然后尝试使用 git checkout –cut_test_2.pro 发现文件恢复了。
+然后使用git checkout –*.h 就可以恢复所有.h后缀的文件,然后将所有文件依次恢复。
+还好之前使用git add –all 并且commit了,不然可能九回复不了了,因为没有保存信息。
+以后使用类似这种危险操作一定要备份文件。
+完整流程
经过测试,之前出现那么多问题是因为pull的时候远程和本地分支搞反了
+正确流程:
+git init
+git remote add r1 …
+git remote -v
+git add …
+git commit -m …
+git branch -a
+git pull r1远程:master
+git branch -a //一个master,一个远程
+git checkout master
+git merge 远程 –allow-unrelated-histories
+git push master:远程
+ + ++ + + +