2011-07-08 11 views
1

私は、一般的に+リモートリポジトリから私の地元repositorと合併GITリポジトリのプルコマンド

  1. をフェッチするためのgit pullコマンドを実行するには、GitHubのレポからすべてのブランチをマージするか、単に特別の操作を行う+ gitのプルフェッチをいrefが定義されているブランチに対して??

  2. 私が特定のブランチのリファレンスを定義していないと仮定し、git pullをコールするとどうしますか?私は何度もそれを観察しようとしましたが、私はそれについて完全に理解していません。

  3. 私は特定のファイルに多くの変更を加えましたが、今はそのブランチを利用しています。私の変更は取り消され、引っ張られたファイルとマージされますか? ??

答えて

1
  1. git pullあなたが現在チェックアウト分岐がパラメータのないプル、すなわち、それは追跡ブランチであるために設定されている場合にのみ動作します。あなたはそれが実際にあなたがGitが場合

  2. を動作することを期待されてブランチを指定していないと言ったテキストを出力します。この場合にはgit remote show remotename

  3. を使用してパラメータのないプルとプッシュのために設定枝を見ることができますあなたの変更はコミットされ、リモートから引っ張ったものとは矛盾しません。それらは一緒にマージされます。彼らは遠ざかりません。 OTOHあなたが知っているか、遠隔地の支店があなたの地元の支店にない変更をしていると思うなら、git pull --rebaseを使うことをお勧めします。変更がコミットされていない場合、操作は中止され、それらをコミットする必要があります。

+0

git pullの良い情報--rebase、--trackコマンドについてはどうですか?あなたはそれについてあなたの意見を共有することはできますか?私はそれが.git/configファイルで指定されているときだけ思っていました。この--trackオプションとは何か –

+0

--trackは、パラメータのないプルのブランチを設定する方法の1つです。主にgitブランチまたはgit checkoutコマンドを使用してブランチを作成するときに使用します:git branch --track dev1_featureX dev1/featureX –

1
  1. Gitは唯一あなたがpullコマンドを実行するに枝をmergeしようとしません。他のブランチはフェッチされます。
  2. Git fetchは、すべてのブランチの最新情報を受け取ります。
  3. 作業ツリーがきれいではないことを通知し、stashまたはcommitのいずれかを要求します。パラメータなし
+0

マスターブランチを作成し、他のすべての基本ブランチがフェッチされますが、マージされませんか? ? –

+0

確かに。やってみて。マージは、コミットオブジェクトではなく作業ツリー上でのみ実行できます。 – JJD

関連する問題