[解決済み] Git が他のリポジトリからブランチをプルする?
質問
私はgithub上のリポジトリのクローンであるローカルのgitリポジトリを持っています。誰かがそのリポジトリをフォークして、新しいリポジトリ上の新しいブランチに変更を加えました。私はこの新しいブランチを私のリポジトリに移動したい(マスターとマージする前に最初にそれを作業するためにローカルで)。
新しいブランチを作成し、フォークされたリポジトリからプルしようとしましたが、新しいブランチはローカルファイルの変更だけでなく、マスターブランチのコピーであるため、次のように文句を言われました。
error: Your local changes to the following files would be overwritten by merge
.
では、どうすれば他のリポジトリのブランチを自分のローカルリポジトリの新しいブランチに引き込むことができるのでしょうか?
意味がわかるといいのですが。もしそうでなければ、これが私のリポジトリです。 https://github.com/MatthewLM/cbitcoin
ご覧のように、誰かが新しいリポジトリを "linuxBuild" というブランチで作成しました。 https://github.com/austonst/cbitcoin/tree/linuxBuild
MatthewLM/cbitcoinのローカルリポジトリにそのブランチが欲しいです。
どうすればいいのでしょうか?
どのように解決するのですか?
あなたは
git status
は、ステージされていない変更がローカルリポジトリに存在しないことを示します。
これを行うには、まずローカルの変更を隠しておき、その後そのブランチをプルします。その後、隠したものを適用することができます。
ローカルリポジトリにフォークのブランチ構造を再作成したい場合は、以下のようにします。
git remote add fork <url of fork>
git fetch fork
git checkout -b fork_branch fork/<branch>
これはローカルブランチを作成します
fork_branch
のような同じ履歴を持つ
<branch>
と同じ履歴を持つ、つまり、フォーク内の
fork_branch
から分岐して
master
ここで
<branch>
のようになります。
さらに、ローカルブランチはフォーク内のブランチを追跡するようになり、フォークでコミットされた新しい変更を簡単に取り込むことができるようになりました。
それでも、作業コピーに変更が含まれていないことを事前に確認する必要があると思います。
関連
-
undefinedGitのプッシュコードには、! [rejected] master -> master (fetch first) 問題があります。
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git のリモートブランチを作成する方法を教えてください。
-
[解決済み] Git フェッチ リモートブランチ
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[git push] 解決策: ! [リモート拒否] master -> master (受信前のフックは拒否されました)
-
undefinedmaster -> master (non-fast-forward) と git ! [拒否] master -> master (フェッチファースト)
-
gpg: "xxx" をスキップ: 秘密鍵のための1つの解決策が利用できない
-
git reset --hardとgit reset --softの違いについて
-
Git: bash: cd: 引数が多すぎる
-
gitlabの紹介と使い方
-
[解決済み] 単一ファイルのマージをやり直す
-
[解決済み] バージョン管理には、なぜタグとリリース/ベータブランチを使い分ける必要があるのでしょうか?
-
[解決済み] 新サーバーへのGitプッシュ/クローン
-
[解決済み] Git Repo から既存のファイルを削除する