2017-02-10 15 views
3

私たちは、共通の上流のリポジトリからフォークされたオンラインリポジトリ(異なるリポジトリ)で働いている2人の学生です。他の人のフォークからGitを引き出す

他の学生が特定の支店で変更、確定、プッシュを行ったとしましょう。

  1. どのようにこれらの変更を自分のローカルリポジトリにプルするのですか?

  2. これらの変更をコミットしてステージ領域にプッシュする必要がありますか?

ありがとうございます!

答えて

0

作業ブランチをコミットしてプッシュします。その後、メインブランチからブランチにマージします。すべての競合が発生していないことを確認してください。ブランチをコミットしてプッシュします。今すぐあなたのブランチをメインブランチにマージしてください。

8

ownレポに新しいリモート(たとえば、other)を追加するだけです。次にをローカルブランチに変更します(例:add-other-changes)。自分のフォークされたレポ(origin/add-other-changes)にプッシュします。今度は、add-other-changesブランチで作業したときに、&とorigin/masterとのマージを要求します。

  • 独自のリポジトリに他のリポジトリの変更をプル:

    # go into your own repo 
    $ git remote add other <other-student-repo-url> # add a new remote with other's repo URL 
    
    $ git fetch other  # sync/update local with other's repo 
    
    $ git checkout -b add-other-changes  # create a new branch named 'add-other-changes'      
    $ git pull other <specific-branch-name> # pull other/<branch> changes   
    
    $ git push origin HEAD # push changes to your own(origin) forked repo `add-other-changes` branch 
    
+0

パーフェクト!ありがとうございました:) –

+0

今行われている、他の学生の変更を追跡する方法は? –

+0

'git fetch other'は他の生徒のレポの変更をローカルに反映します。特定のブランチを変更する必要がある場合は、 'git pull other <特定のブランチ> 'だけを抜きます。 –

0

を使用すると、両方が同じプロジェクトで作業する場合は、あなたが二回リポジトリをフォークしていてはいけません。あなたまたはあなたの友人(両方ではない)はリポジトリをフォークする必要があります。そして、両方ともローカルのフォークされたものを複製する必要があります(リポジトリをフォークした人が許可する必要があります)。

これが完了したら、プロジェクトのメンバーがリモコンに新しい変更があるかどうかを知りたければ、git remote update以上、通常はgit fetch originとすることができます。

あなたは同じ枝に取り組んでいると、あなたは、1つの共有を取得すべき変化させた場合、リモート1 git pull origin <branh_name>

であなたのローカルブランチを更新する場合:

git add file_path_1 file_path_2 directory_path1 ... 
git commit -m "<your brief message>" 
git push origin <branch_name> 
関連する問題