0

いくつかの変更を加えてからコミットしましたが、プッシュしようとすると、すべてが最新であるというエラーが発生しました。

なぜこれが起こるのでしょうか?注意として、昨日はいくつかのマージの問題があり、今日はgit checkout some_version_numberを実行する必要がありました

ここで何がうまくいかないのですか?ありがとう!

git status からの出力は次のとおりです。

macoss-MacBook-Pro-10:Marketing owner12$ git status
# Not currently on any branch.
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   Marketing/en.lproj/MainStoryboard_iPad.storyboard
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Marketing.xcodeproj/project.xcworkspace/xcuserdata/owner12.xcuserdatad/

そして、git checkout master を実行してブランチに移動しようとすると、次のようになります。

macoss-MacBook-Pro-10:Marketing owner12$ git push origin master
Password for 'https://genadinik@bitbucket.org': 
Everything up-to-date
macoss-MacBook-Pro-10:Marketing owner12$ git checkout master
error: Your local changes to the following files would be overwritten by checkout:
    Marketing/en.lproj/MainStoryboard_iPhone.storyboard
Please, commit your changes or stash them before you can switch branches.
error: The following untracked working tree files would be overwritten by checkout:
    Marketing.xcodeproj/project.xcworkspace/xcuserdata/owner12.xcuserdatad/UserInterfaceState.xcuserstate
Please move or remove them before you can switch branches.
4

2 に答える 2

3

出力に従ってgit status、マスターブランチにいない間にこれらの変更を行いました。

macoss-MacBook-Pro-10:Marketing owner12$ git status
# Not currently on any branch.
...

git checkoutブランチに移動しない理由は、移動すると、 master(エラーメッセージに従って)行った変更を上書きする必要があるためです。

これを回避する最も簡単な方法は次のとおりです。

$ git stash save      # Save the edits made whilst not on a branch
$ git checkout master # Move to the master branch
$ git stash pop       # Apply stashed-changes; delete from stash if successful

変更を適用すると競合が発生する可能性があることに注意してください。gitの出力を注意深く読んでください。

(編集:git stash save追跡されていないファイルは処理されないことに注意してください)

于 2013-02-07T17:10:37.640 に答える
0

必要がある

git add FILENAME

または

git commit -a

そうでなければ、あなたは何もコミットしていません。

あなたのgit出力は、ステージングされていないファイルと追跡されていないファイルがあることを示しています。これは、git addでファイルをステージングしない限り、何もしない「gitコミットファイル名」を実行したためです。

これは次の方法でも見ることができます

git log

ローカルの履歴がリモートと同じになる場合、「すべてが最新で、変更はありません」という git メッセージが表示されます。

于 2013-02-07T16:31:08.723 に答える