所以长话短说,我过去几个月一直在研究一个网络应用程序。最近我不得不买一台新的笔记本电脑并将存储库从github克隆到我的新机器上......但是每当我提交对我的应用程序的更改并尝试在应用程序的根目录中使用git push -u
时,我会得到以下消息:< / p>
To git@github.com:acc/etc.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:acc/etc.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again. See the
'Note about fast-forwards' section of 'git push --help' for details.
但是当我尝试git pull git@github.com:acc/etc.git master
时,我收到一条消息,告诉我拉动已中止。
From github.com:acc/etc
* branch master -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
config/routes.rb
test/fixtures/users.yml
Please, commit your changes or stash them before you can merge.
Aborting
然后我使用git commit -m 'fixing'
提交更改,然后再次尝试git pull
。
然而这次我得到消息说几乎所有文件都有“自动合并冲突”
我完全搞砸了这个特殊的存储库?我不确定该怎么办,因为git对我来说还是有点新鲜......
答案 0 :(得分:3)
我完全搞砸了这个特定的存储库吗?
不,但是你必须进行手动合并,因为Git无法解决这个问题。 git status
会告诉您哪些文件需要编辑。文件本身包含标记,指示您应编辑的位置。完成后,git push
应该再次起作用。
答案 1 :(得分:2)
如果更改不是那么大,请考虑将整个文件夹/项目的副本放在项目之外的其他目录中,然后git reset --hard HEAD
将清除,删除和删除最近的更改。 />
然后,您可以使用save3d副本再次单独应用它们以进行参考
当然,请确保在git add
之前确定git commit
最后,如果您遇到自动提交合并问题,您可以随时手动编辑文件以解决问题。