136

私はgitの初心者で、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)

そのコミットを元に戻したいので、コミットするのではなく、レビューのためにそれらのファイルをプッシュしたいと思います。誰かが私にそれを行う方法を教えてもらえますか?

4

6 に答える 6

151

まだコミットされていないものをプッシュすることはできません。操作の順序は次のとおりです。

  1. 変更を加えます。
  2. git add-これにより、コミットするための変更がステージングされます
  3. git commit-これにより、段階的な変更がローカルにコミットされます
  4. git push-これにより、コミットした変更がリモートにプッシュされます

コミットせずにプッシュすると、何もプッシュされません。追加せずにコミットすると、何もコミットされません。コミットせずに追加した場合、何も起こりません。gitは、追加した変更を次のコミットで考慮する必要があることを単に覚えています。

表示されているメッセージ(ブランチは1コミット進んでいます)は、ローカルリポジトリにまだプッシュされていないコミットが1つあることを意味します。

つまり、:addcommitはローカル操作でpushありpull、、fetchはリモートと対話する操作です。

作業場所には公式のソース管理ワークフローがあるように思われるため、これをどのように処理するかを社内で確認する必要があります。

于 2012-04-16T06:06:24.647 に答える
93

git reset HEAD^ --soft(変更を保存し、最後のコミットに戻します)

git reset HEAD^ --hard(変更を破棄し、最後のコミットに戻します)

于 2012-04-16T06:06:44.657 に答える
39

変更を破棄して最後のコミット(共有したいコミット)に戻したい場合:

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 
于 2012-04-16T06:04:23.433 に答える
24

単純なものを実行するだけでこれを解決しました:

git pull

これ以上何もない。今それは示しています:

# On branch master
nothing to commit, working directory clean
于 2013-07-31T21:44:35.080 に答える
17

git reset HEAD ^

その後、変更されたファイルが表示されます。

変更したファイルを新しいブランチに移動できます

使用する、

git checkout -b newbranch

git checkout commit -m "files modified"

git push origin newbranch

git checkout master

次に、クリーンなブランチに移動し、変更をnewbranchに保存する必要があります。後でこの変更をマスターブランチにマージすることができます

于 2016-01-19T09:28:32.563 に答える
4
git reset HEAD <file1> <file2> ...

次のコミットから指定されたファイルを削除します

于 2012-04-16T06:03:57.067 に答える