0

私はGitに少し慣れていません。したがって、リモートサーバーにオリジン/マスターとオリジン/アップブランチがあります。また、ローカル マシンに master ブランチがあります。ローカル マシンからオリジン/アップブランチにプッシュできるように設定するにはどうすればよいですか? また、origin/upbranch から origin/master へのプルを設定するにはどうすればよいですか? 静的アドレスを介してリモート サーバーにアクセスできますが、リモートからローカルにアクセスするためのアドレスがありません。

また、Git を学んでいる人にお勧めの参考文献はありますか?

編集:意味を誤解している可能性があるため、origin/upstream を origin/upbranch に名前変更しました。

master (ローカル) -> origin/upbranch (リモート) -> origin/master (リモート)

4

2 に答える 2

0

新しいブランチを作成している場合は、それを追跡すると自動的にセットアップされます。

git branch --track branch1 origin/branch1

既存のブランチの追跡を変更する場合は、.git/config ファイルを変更する必要があります

[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = git://github.com/canuckistani/dotjs-addon.git
[branch "master"]
        remote = origin
        merge = refs/heads/master

構成ファイルの編集に慣れていない場合は、以下のコメントで提案されているように試すことができます。

git branch --set-upstream branch_name your_new_remote/branch_name

同様に、アップストリームなどの他のリモートをセットアップできます。

于 2012-06-20T22:58:26.333 に答える
0

このシナリオの上流はブランチですか? 確かに似てる。支店名は本当に人を混乱させると思います。

しかし、いくつかの質問に答えるには:

master -> origin/masterと があると仮定しますupstream -> origin/upstream。すでにローカル ブランチがリモート ブランチを追跡しているようです。

ローカル マシンからオリジン/アップストリームにプッシュできるように設定するにはどうすればよいですか?

上流のブランチに切り替える

 > git checkout upstream 
 ... awesome changes 
 > git commit -a -m "Did something awesome." 
 > git push origin upstream

チェックアウトを使用して、ローカルで追跡されているアップストリーム ブランチに切り替えます。変更を加えます。それらをコミットすると、元に戻されます。

また、オリジン/アップストリームからオリジン/マスターへのプルをどのように設定しますか?

これを直接行うことはありません。ローカルでマージしてからプッシュする必要があります。

> git checkout upstream
> git pull origin upstream
> git checkout master
> git merge --no-ff upstream
> git commit -a -m "Merged upstream into master."
> git push origin master

ローカル ブランチを上流に変更します。リモート ブランチからすべての変更をプルします。マージに問題があった場合は、マスターに戻す前にまず修正とコミットを行う必要があります。master ブランチに切り替えて、アップストリームからの変更を master にマージします。マスターのポインターを移動するだけでなく、新しいマージコミットを作成するように、早送りをオフにします。

マージをコミットしてから、リモート サーバーにプッシュします。

錯乱

アップストリームがオリジンのような別のリモートロケーションであると想定されている場合、アップストリームをオリジン/アップストリームとしてリストしているため、何をしようとしているのか正確にはわかりません。

私が見たところによると、アップストリームという名前は、別のリモート ロケーションに名前を付けるために使用されます。その場合、起点は上流に似ています。アップストリームへのマスターではありません。しかし、マスター (デフォルトで作成) と呼ばれる 1 つとアップストリームと呼ばれる 2 つのブランチを作成し、それらで作業してアップストリームをマスターにマージしたいと仮定しました。

于 2012-06-21T01:02:26.303 に答える