0

私は次のことをしました:

git add <filenames>
git commit
git push origin master:mybranch

オリジンサーバーから、次のことを行いました。

git merge mybranch

私の変更はすべて元のサーバーに存在するようになりましたが、git (および私自身) は信じられないほど混乱しているようです。オリジンでを実行したときgit status、追加した新しいファイルのうち 2 つが存在していましたが、追跡されていないファイルとしてリストされていました。ただし、変更されたファイルは変更済みとしてリストされません。

git statusリモートサーバーでa を実行すると、 Your branch is ahead of 'origin/master' by 1 commit. というエラーが表示されます。

リモート サーバーでを実行するgit diff origin/masterと、すべての変更がオリジン サーバーに存在しないものとしてリストされます。

ここで何が起こっているのですか?

4

2 に答える 2

1

master で git pull を実行してから、再度マージし
ます 現在どのブランチにいますか?

通常は次のようになります。

git checkout somebranch
*make some changes
git add *any new files here*
git commit -am "commit message"
git checkout master
git pull origin master
git merge somebranch
git push

プルしたときにマスターブランチに変更があった場合は、それらの変更を作業ブランチにマージする必要があります。

git checkout somebranch
git merge master
于 2012-05-30T16:20:48.883 に答える
0

mybranchをリモコンにプッシュしただけです。これが、リモートのマスターにマージした後、「1つ先に」というメッセージが表示される理由です。これはエラーではありません。

git fetchを実行すると、最新のものが同期されます。

Gitの履歴構造がどのように構築されているかを理解していないようです。Googleの「gitforcomputerscientists」で概要を確認したり、progit.org/bookを読んだりしてください。

于 2012-05-30T18:50:35.283 に答える