抱歉,我的问题可能有点像菜鸟,但我对GIT没有多少经验。我已经重命名了目录" build"对" build1",进行了改动,现在我无法推动,我得到的只是一条消息:
Counting objects: 11, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 514 bytes | 0 bytes/s, done.
Total 6 (delta 4), reused 0 (delta 0)
remote: From /git/rololo
remote: 8432750..b53923c master -> origin/master
remote: error: Your local changes to the following files would be overwritten by merge:
remote: build/build.html
remote: build/build.unity3d
remote: Please, commit your changes or stash them before you can merge.
remote: Aborting
remote: Updating 1d2fa90..b53923c
我现在该怎么做才能进行推动?
答案 0 :(得分:2)
此时你可以做几件事。
<强> 1。存储您的更改 - &gt;更新分支 - &gt;弹出隐藏的变化
通过以下方式存储更改:
git stash save <message>
然后做一个拉
git pull origin master
然后弹出隐藏的更改
git stash pop <stash>
或强>
<强> 2。将更改提交到新分支 - &gt;更新主人 - &gt;将新分支合并为主分支
结帐新分行:
git checkout -b <new_branch>
将更改提交给新分支:
git commit -m <commit message>
结帐主人并提取更改:
git checkout master
git pull origin master
合并目录已删除的新分支:
git merge <new_branch>
答案 1 :(得分:1)
git fetch
//您现在可以看到上游的当前状态。
此时,您可能希望在gitk
或gitg
中可视化分支。
你可能处于这种情况:
-A-B-C-D //Master \E-F //Your branch, say you've done your renames in commit F
如何继续进行取决于您希望如何显示历史记录:
git rebase
将你的分支(E-F
)从你分散的地方(B
)重新分配给主人(D
)中的最新提交。您仍然需要解决与C-D
:
-A-B-C-D-E-F
git merge origin/master
将更新从上游下拉到您的本地分支:
-A-B-C-D \E-F-CD'
此时您必须解决重命名冲突。
您现在在本地分支上有一个包含C
和D
的合并提交。
git push
-A-B-C-D----G \E-F-CD'/
答案 2 :(得分:0)
在重命名目录之前,您似乎必须git pull
,因为文件在该目录中已更改。