diff options
Diffstat (limited to 'docs/ja/newbs_git_resynchronize_a_branch.md')
-rw-r--r-- | docs/ja/newbs_git_resynchronize_a_branch.md | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/ja/newbs_git_resynchronize_a_branch.md b/docs/ja/newbs_git_resynchronize_a_branch.md new file mode 100644 index 000000000..747fe1e61 --- /dev/null +++ b/docs/ja/newbs_git_resynchronize_a_branch.md | |||
@@ -0,0 +1,88 @@ | |||
1 | # 同期のとれていない git ブランチの再同期 | ||
2 | |||
3 | <!--- | ||
4 | grep --no-filename "^[ ]*git diff" docs/ja/*.md | sh | ||
5 | original document: adf4acf59:docs/newbs_git_resynchronize_a_branch.md | ||
6 | git diff adf4acf59 HEAD docs/newbs_git_resynchronize_a_branch.md | cat | ||
7 | --> | ||
8 | |||
9 | 仮にあなたの `master` ブランチにあなたのコミットを行い、そしてあなたの QMK リポジトリの更新が必要になったとします。 | ||
10 | (フォーク元の) QMKの `master` ブランチをあなたの `master` ブランチに `git pull` することもできますが、GitHub は、あなたのブランチが `qmk:master` より何コミットか先行していると通知します、この状態で QMK にプルリクエストを行う場合、問題が発生する可能性があります。 | ||
11 | (訳注:この通知は、GitHub のあなたのリポジトリの code ペインのブランチ選択メニューの下のあたりで `This branch is 3 commit ahead of qmk:master` という様な文面で表示されています。) | ||
12 | |||
13 | ?> このドキュメントは [あなたのフォークの master ブランチ: 更新は頻繁に、コミットはしないこと](ja/newbs_git_using_your_master_branch.md) で詳述されている概念に基づいています。その概念に慣れていない場合は、まずそれを読んでから、ここに戻ってください。 | ||
14 | (訳注:この文書で言う、「同期のとれていない git ブランチ」とは、master ブランチに関する、この「コミットしない」方針を逸脱して、QMK の master リポジトリに存在しないコミットがあなたのフォークの master ブランチに入っている状態を指します。) | ||
15 | |||
16 | ## あなた自身の `master` ブランチでの変更のバックアップ(オプション) | ||
17 | |||
18 | 救えるものなら自分の行った変更を失いたくはないでしょう。 | ||
19 | あなたの `master` ブランチに既に加えた変更を保存したい場合、最も簡単な方法は、単に「ダーティな」`master` ブランチの複製を作成することです: | ||
20 | |||
21 | ```sh | ||
22 | git branch old_master master | ||
23 | ``` | ||
24 | |||
25 | これで、 `master` ブランチの複製である `old_master` という名前のブランチができました。 | ||
26 | |||
27 | ## あなたのブランチの再同期 | ||
28 | |||
29 | さあ、`master` ブランチを再同期します。 | ||
30 | この手順では、QMK のリポジトリを git のリモートリポジトリとして設定する必要があります。 | ||
31 | 設定済みのリモートリポジトリを確認するには、`git remote -v` を実行し、次のような結果が返されなければなりません。 | ||
32 | |||
33 | ```sh | ||
34 | QMKuser ~/qmk_firmware (master) | ||
35 | $ git remote -v | ||
36 | origin https://github.com/<your_username>/qmk_firmware.git (fetch) | ||
37 | origin https://github.com/<your_username>/qmk_firmware.git (push) | ||
38 | upstream https://github.com/qmk/qmk_firmware.git (fetch) | ||
39 | upstream https://github.com/qmk/qmk_firmware.git (push) | ||
40 | ``` | ||
41 | |||
42 | もし、上記のようにならずに以下のように参照されるフォークが、1つだけ表示される場合: | ||
43 | |||
44 | ```sh | ||
45 | QMKuser ~/qmk_firmware (master) | ||
46 | $ git remote -v | ||
47 | origin https://github.com/qmk/qmk_firmware.git (fetch) | ||
48 | origin https://github.com/qmk/qmk_firmware.git (push) | ||
49 | ``` | ||
50 | |||
51 | 新しいリモートリポジトリを追加します: | ||
52 | |||
53 | ```sh | ||
54 | git remote add upstream https://github.com/qmk/qmk_firmware.git | ||
55 | ``` | ||
56 | |||
57 | 次に、`origin` リモートリポジトリを、あなた自身のフォークにリダイレクトします: | ||
58 | |||
59 | ```sh | ||
60 | git remote set-url origin https://github.com/<あなたのユーザ名>/qmk_firmware.git | ||
61 | ``` | ||
62 | |||
63 | 両方のリモートリポジトリが設定されたので、次を実行して、QMK である `upstream` リポジトリの参照を更新する必要があります。 | ||
64 | |||
65 | ```sh | ||
66 | git fetch upstream | ||
67 | ``` | ||
68 | |||
69 | この時点で、次を実行してあなたの(訳注:master)ブランチを QMK のブランチに再同期します。 | ||
70 | (訳注: 今現在 `master` ブランチがチェックアウトされていなければなりません。 | ||
71 | そうなってなければ、`git checkout master` を先に実行しておく必要があります。) | ||
72 | |||
73 | ```sh | ||
74 | git reset --hard upstream/master | ||
75 | ``` | ||
76 | |||
77 | これらの手順により、あなたのコンピュータ上のリポジトリが更新されますが、あなたの GitHub 上のフォークはまだ同期されていません。 | ||
78 | GitHub 上のフォークを再同期するには、あなたのフォークにプッシュして、ローカルリポジトリに反映されていないリモート変更をオーバーライドするように Git に指示する必要があります。 | ||
79 | これを行うには、次を実行します: | ||
80 | |||
81 | ```sh | ||
82 | git push --force-with-lease | ||
83 | ``` | ||
84 | |||
85 | !> 他のユーザーがコミットを投稿するフォークで `git push --force-with-lease` を**実行しないでください**。これをすると、かれらのコミットが消去されてしまいます。 | ||
86 | |||
87 | これで、あなたの GitHub フォーク、あなたのローカルファイル、および QMK のリポジトリはすべて同じになりました。 | ||
88 | ここから、[ブランチを使って](ja/newbs_git_using_your_master_branch.md#making-changes)さらに必要な変更を加え、通常どおりそれらを投稿できます。 | ||