aboutsummaryrefslogtreecommitdiff
path: root/docs/ja/newbs_git_resynchronize_a_branch.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/ja/newbs_git_resynchronize_a_branch.md')
-rw-r--r--docs/ja/newbs_git_resynchronize_a_branch.md88
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
22git 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
34QMKuser ~/qmk_firmware (master)
35$ git remote -v
36origin https://github.com/<your_username>/qmk_firmware.git (fetch)
37origin https://github.com/<your_username>/qmk_firmware.git (push)
38upstream https://github.com/qmk/qmk_firmware.git (fetch)
39upstream https://github.com/qmk/qmk_firmware.git (push)
40```
41
42もし、上記のようにならずに以下のように参照されるフォークが、1つだけ表示される場合:
43
44```sh
45QMKuser ~/qmk_firmware (master)
46$ git remote -v
47origin https://github.com/qmk/qmk_firmware.git (fetch)
48origin https://github.com/qmk/qmk_firmware.git (push)
49```
50
51新しいリモートリポジトリを追加します:
52
53```sh
54git remote add upstream https://github.com/qmk/qmk_firmware.git
55```
56
57次に、`origin` リモートリポジトリを、あなた自身のフォークにリダイレクトします:
58
59```sh
60git remote set-url origin https://github.com/<あなたのユーザ名>/qmk_firmware.git
61```
62
63両方のリモートリポジトリが設定されたので、次を実行して、QMK である `upstream` リポジトリの参照を更新する必要があります。
64
65```sh
66git fetch upstream
67```
68
69この時点で、次を実行してあなたの(訳注:master)ブランチを QMK のブランチに再同期します。
70(訳注: 今現在 `master` ブランチがチェックアウトされていなければなりません。
71 そうなってなければ、`git checkout master` を先に実行しておく必要があります。)
72
73```sh
74git reset --hard upstream/master
75```
76
77これらの手順により、あなたのコンピュータ上のリポジトリが更新されますが、あなたの GitHub 上のフォークはまだ同期されていません。
78GitHub 上のフォークを再同期するには、あなたのフォークにプッシュして、ローカルリポジトリに反映されていないリモート変更をオーバーライドするように Git に指示する必要があります。
79これを行うには、次を実行します:
80
81```sh
82git 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)さらに必要な変更を加え、通常どおりそれらを投稿できます。