我在Git中提交文件后,我发出了pull
请求,但它停止了我的一些代码功能。我想在我提交文件之前进入上一阶段,即拉动请求之前的状态。
我发现git stash
是进入上一阶段的选项。但是有很多选择,如
git --rebase
git stash
git stash pop
我尝试过的其他命令包括:
git status
git commit file1 file2 file3 -m "message"
git commit -i file1 file2 file3 "message"
git pull
git checkout
拉动之前我需要使用哪些命令才能进入舞台?
答案 0 :(得分:2)
我认为你混合 pull 和拉取请求。 Pull request 是对存储库所有者的GitHub请求,用于获取您的一些提交并将其应用于其存储库。另一方面,git pull
是一个使用相关远程存储库中的新更改来更新本地存储库的过程。
警告: 首先备份您当地的存储库。
要从您的案例中可能出现的问题中恢复,您可以尝试:
git reset --hard
重置正在进行的合并过程。这将删除所有暂存(git add
ed)更改和所有本地更改。git rebase --abort
重置正在进行的rebase流程,以防您开始发布git rebase
或git pull --rebase
在您清理存储库后,我建议您执行
git fetch
确保您与远程存储库保持同步。然后,您可以使用gitk --all
来查看检查所有分支的历史记录。我想,你会看到origin/master
分支超前于你的本地提交。为了推动您的更改,您必须合并或更好的rebase。为此,请使用
git checkout master
(将master
替换为您的本地分支),然后发出
git rebase origin/master
(将master
替换为目标远程分支)。如果您遇到合并冲突,则必须解决它,然后git add
更改文件,然后继续使用
git rebase --continue
现在,您可以使用
推送更改git push origin master:master
(将master
替换为您的本地分支,将第二个master
替换为您的远程分支
答案 1 :(得分:1)
您必须事先使用git stash
。如果没有,您可以通过运行git log -g
来尝试猜测以前的状态。
在结果中找到提交“消息”。其中一个是你正在寻找的。 p>