4

これが私のセットアップです。私は自宅と大学で働いており、リモートはオンラインで保存されています。3 つのロケーションすべてに、br1、br2、br3 と呼ばれる 3 つのブランチがあります。各ワークステーションの各ブランチは同じです。つまり、自宅の br1、職場の br1、リモートの br1 はすべて同じブランチなどに対応します。

現在、自宅で br2 をプルしようとすると、マージする必要があるブランチを指定する必要があるというメッセージが表示されます。何が起こっているのか、それを修正する方法はわかっていますが、なぜそれが起こっているのかわかりません。git は同じ名前のブランチとマージされませんか? ブランチごとに構成ファイルにエントリを作成する必要がありますか?

ちなみに、git rm --cached と git reset --mixed の違いは何ですか?

4

2 に答える 2

2

ブランチをローカルに作成し、それをリモートにプッシュしたことが原因だと思います。
この場合、ローカル ブランチにはアップストリームがありません。

アップストリームを設定できます

git branch --set-upstream foo origin/foo

-u

--set-upstream

最新または正常にプッシュされたすべてのブランチに対して、アップストリーム (追跡) 参照を追加します。これは、引数なしの git-pull(1) およびその他のコマンドで使用されます。詳細については、git-config(1) の branch..merge を参照してください。

于 2012-04-04T18:38:35.207 に答える
0

構成ファイルを手動で編集する必要はありません。ブランチを削除して、追跡ブランチを最初からチェックアウトすることをお勧めします。プッシュする必要があるローカルの変更がないように注意してください。

git branch -D br2
git checkout --track origin/br2

--track を使用してリモート ブランチをチェックアウトすると、プッシュおよびプル時に常に適切にセットアップされます。

于 2012-04-04T17:43:13.970 に答える