0

2 つの非ベア リポジトリと 1 つのベア リポジトリがセットアップされています。

最初のリポジトリがそれ自体にコミットし、ベア リポジトリにプッシュした後、すべてが正常になります。

次に、2 番目のリポジトリでベア リポジトリのクローンを作成し、コンテンツを 2 番目のリポジトリに取得します。

次に、2番目のレポで新しいファイルを追加し、それ自体にコミットしますが、ベアレポにはまだプッシュしていません。

次に、git status を実行すると、「Your branch is ahead of origin/master by 1 commit」のようなメッセージが表示されます。まだベア リポジトリにプッシュしていないため、これは自然な動作です。

その後、ベア リポジトリにプッシュし、ベア リポジトリに cd してgit ログを実行すると、最新のコミットが成功したことがわかります。

次に、2 番目のリポジトリに戻ってgit statusを実行しても、「Your branch is ahead of origin/master by 1 commit」というメッセージが表示されます。

ベア リポジトリに最新のコミットがあった後でも同じメッセージが表示されるのはなぜですか。

**EDIT**:And if I try to pull or fetch the message still remains.
1) user@ubuntu:~/user2$ git pull /home/user/central [/home/user/central-Bare repo]

2) user@ubuntu:~/user2$ git fetch /home/user/central
From /home/user/central
 * branch            HEAD       -> FETCH_HEAD [And this fetch command has no output why does this happen.Am I fetching correctly]

そして、マスターとオリジン/マスターの差分を取得すると、次のようになります。

user@ubuntu:~/user2$ git diff master origin/master
diff --git a/anotherfile.txt b/anotherfile.txt
deleted file mode 100644
index 6acd600..0000000
--- a/anotherfile.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a second file to be committed
-hello

user2 リポジトリにいくつかのファイルを追加しました。user2 の git ログは非ベア リポジトリであり、ベア リポジトリの git ログは同じです。user2 リポジトリの git ステータスは次のとおりです。

user@ubuntu:~/user2$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 4 commits.
#
nothing to commit (working directory clean)

そして git branch -vva の結果は、裸でないレポ user2 で次のようになります。

user@ubuntu:~/user2$ git branch -vva
* master                dac4ae0 [origin/master: ahead 4] Fifth Commit
  remotes/origin/HEAD   -> origin/master
  remotes/origin/master 8cfb52f Initial Commit
4

2 に答える 2

1

私は問題を見つけたと思います。まず、この質問を見る必要があります。

Git:名前付きリモートからのフェッチとURLからのフェッチの違いは何ですか?

次に、2番目の担当者で次のコマンドを実行することをお勧めします。

git remote add origin <bare repo path>
git pull origin
git push

または、2番目のリポジトリを初期化するときに使用しますgit clone <bare repo path>

于 2013-01-11T07:33:42.373 に答える
0

「Your branch is ahead origin/masterby 1 commit」というメッセージは、ローカル マスターに、リモート マスター参照 ( origin/master) にないコミットが 1 つあることを意味します。多分それを更新してgit fetch問題を解決してください。

于 2013-01-11T05:10:28.113 に答える