2 回答

TA貢獻1827條經驗 獲得超8個贊
1. Pull is not possible because you have unmerged files.
癥狀:pull的時候
$ git pull
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'
應該是因為local文件沖突了
解決方法:
引用――
“
1.pull會使用git merge導致沖突,需要將沖突的文件resolve掉 git add -u, git commit之后才能成功pull.
2.如果想放棄本地的文件修改,可以使用git reset --hard FETCH_HEAD,FETCH_HEAD表示上一次成功git pull之后形成的commit點。然后git pull.
注意:
git merge會形成MERGE-HEAD(FETCH-HEAD) 。git push會形成HEAD這樣的引用。HEAD代表本地最近成功push后形成的引用。
”
就我的經驗,有時候會莫名其妙地出現這種狀況,而且Untracked files 還特別多(實際上自己可能只改了一兩個文件),所以只好先保存好自己確定做出的local的修改,然后用git reset --hard FETCH_HEAD回到上次成功pull之后的點,然后再pull就沒有問題了
2.You are not currently on a branch.
癥狀:有一次pull的時候又出現沖突,這回用“git reset --hard FETCH_HEAD”方法都不行了,出現:
$ git pull
You are not currently on a branch, so I cannot use any
'branch.<branchname>.merge' in your configuration file.
Please specify which remote branch you want to use on the command
line and try again (e.g. 'git pull <repository> <refspec>').
See git-pull(1) for details.
解決方法:
首先git checkout -b temp
其次git checkout master
即可恢復到master repository的狀態,然后就可以pull了

TA貢獻1850條經驗 獲得超11個贊
1、進入服務器,打開找到相應的git倉庫,并進到.git這個文件夾內,可以看到如下圖所示的所有文件。
2、我們需要修改.git/config文件,打開這個文件,內容如下圖所示。
3、在文件末尾添加如下內容,系統默認是否定的,加了這句話才會忽略:
[receive] denyCurrentBranch = ignore
4、最后你可以到服務器的Linux下 運行 $ git reset --hard
5、以上修改完成后,再來clone倉庫到本地,操作如下圖所示。
6、在彈出的clone框中,輸入正確的URL后點“OK”開始clone倉庫。
7、出現success信息就表示下載完成了。這樣,不能clone的問題就解決了。
- 2 回答
- 0 關注
- 559 瀏覽
添加回答
舉報