我在git的新手,我的工作饭桶。
我加了一些文件的git:
git add <file1>
git add <file2>
然后我想推动这一审查,却误我做
git commit
所以我已更改的文件不要去评论。
现在,如果我输入命令:
git status
它说
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
我想还原那个承诺,我想要把这些文件进行审查,而不是承诺。 任何人都可以让我知道我该怎么做呢?
你不能把任何有未提交。 操作顺序是:
- 让你的变化。
-
git add
-这个阶段你对提交修改 -
git commit
-这在当地提交您的分阶段变化 -
git push
-推这个你到远程提交的修改
如果你把没有提交,没有得到推动。 如果你犯不增加,没有被提交。 如果添加不提交,什么都没有发生,只是混帐记得你加入了一个变化,应考虑以下提交。
你所看到的信息(你的分支是由提前1提交)意味着你的本地仓库有一个承诺是还未推。
换句话说: add
和commit
是本土作战, push
, pull
和fetch
的与远程交互操作。
由于似乎是在地方来的官方消息控制流程在哪里工作,你应该问的内部这应如何处理。
git reset HEAD^ --soft
(保存更改,返回到最后提交)
git reset HEAD^ --hard
(放弃更改,回到上次提交)
如果你只是想扔掉更改并恢复到上次提交(您想分享的一个):
git reset --hard HEAD~
您可能需要进行检查,以绝对确保你想要这个( git log
),因为你会失去所有的变化。
一个更安全的替代方法是运行
git reset --soft HEAD~ # reset to the last commit
git stash # stash all the changes in the working tree
git push # push changes
git stash pop # get your changes back
我解决了这个由仅仅运行一个简单的:
git pull
而已。 现在,它的显示:
# On branch master
nothing to commit, working directory clean
git的重置头^
然后将修改后的文件应该显示出来。
你可以修改后的文件移动到一个新的分支
使用git的结帐-b newbranch git的结帐提交-m“修改过的文件”混帐推起源newbranch
git的结帐主
那么你应该在一个干净的分支,和您的更改应存放在newbranch。 你可以在以后只合并这个变化到主分支
git reset HEAD <file1> <file2> ...
从下删除指定文件提交