git – 你的分支在1提交之前是“origin / master”

我是git的新手,我正在git上工作。

我在git中添加了一些文件:

git add <file1> git add <file2> 

那么我想推动审查,但我错了

 git commit 

所以我改变的文件不去评论。
现在,如果我input命令:

 git status 

它说

 # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean) 

我想恢复提交,我想推动这些文件进行审查,而不是提交。 任何人都可以让我知道我该怎么做?

你不能推动任何尚未提交的东西。 操作顺序是:

  1. 做你的改变。
  2. git add – 这个阶段你的更改提交
  3. git commit – 这会在本地提交您的阶段性更改
  4. git push – 这将您提交的更改推送到远程

如果你没有提交,没有推动。 如果你没有添加提交,没有提交。 如果你添加没有提交,根本就没有任何事情发生,git只是记得你添加的改变应该被考虑用于下面的提交。

您看到的消息(您的分支在1提交前面)意味着您的本地存储库有一个尚未推送的提交。

换句话说, addcommit是本地操作, pushpullfetch是与远程交互的操作。

由于在你工作的地方似乎有一个官方的源代码pipe理工作stream程,所以你应该在内部询问如何处理。

git reset HEAD^ --soft (保存您的更改,回到上次提交)

git reset HEAD^ --hard (放弃更改,返回上次提交)

如果您只想丢弃更改并恢复到最后一次提交(您想要共享的那个):

 git reset --hard HEAD~ 

你可能想检查一下,确保你想要这个( git log ),因为你将失去所有的改变。

一个更安全的select是运行

 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 reset HEAD <file1> <file2> ... 

从下一次提交中删除指定的文件

git重置HEAD ^

那么修改后的文件应该显示出来。

您可以将修改的文件移动到一个新的分支

使用,git checkout -b newbranch git checkout commit -m“文件修改”git push origin newbranch

git checkout master

那么你应该在一个干净的分支,你的变化应该存储在newbranch。 您稍后可以将此更改合并到主分支中