Git

Git コマンド関連の雑多なメモ。

リモートを登録する

$ git remote set-url {{remoteName}} {{URL}};

変更差分を取り消す

$ git checkout HEAD -- ./;

マージと競合解決

カレントブランチ(この例では mergetest-master)に対し、マージ元ブランチ mergetest-topic のマージを試みるも、自動マージに失敗しコンフリクト状態となる場合。

$ git merge mergetest-topic;
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.

未解決の競合がある場合の status

$ git status;
On branch mergetest-master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)
    both modified:   index.html

no changes added to commit (use "git add" and/or "git commit -a")

短い status

$ git status -s;
UU index.html

-b をつけるとブランチ名が表示される。

$ git status -sb;
## mergetest-master
UU index.html

diff を表示するとこんな感じ。

$ git diff;
diff --cc index.html
index 02bc460,ff9fe4f..0000000
--- a/index.html
+++ b/index.html
@@@ -1,4 -1,4 +1,8 @@@
++<<<<<<< HEAD
 +<p>master</p>
++=======
+ <p>topic</p>
++>>>>>>> mergetest-topic

短く diff。

$ git diff --name-status;
U       index.html
M       index.html

相手(マージ元)の内容を採用して競合解決する。

$ git checkout --theirs index.html;
Updated 1 path from the index

自分(カレントブランチ/マージ先)の内容を採用して競合解決する。

$ git checkout --ours index.html;
Updated 1 path from the index

ステージに追加してコミットする。

$ git add index.html;
$ git commit -m "merged";
[mergetest-master a56fc7c] merged

プロフィール

コヤナギ トモヤ

ウェブ系エンジニアしてます。ウェブデザイナー、ウェブディレクターとしてウェブ制作の仕事に携わり、今はエンジニア職に流れ着きました。誰かのお仕事をちょっとだけ効率化するような支援ツールの開発が好き。オープンソースとMITライセンス大好き。人生後半は自由と民主主義のコントリビューターとして過ごす予定。

ウェブ制作支援ツール Pickles 2 をオープンソースで開発しています。

PHP/JavaScript/NodeJS/nwjs/Laravel/Pickles2/オープンソース/心理学/倫理/自由と民主主義

RSSフィード

  • このサイト https://www.pxt.jp/ は、 コヤナギ トモヤ の個人サイトです。
  • 個人的な主張や、活動の記録などを掲載しています。 所属する企業、団体、その他の意見や立場を代表するものではありません。
  • 掲載された内容は古くなっている可能性があります。 特に古い記事では、現在の筆者の考えと異なる主張をしていることがありますが、記録としてそのまま残しております。 予めご了承ください。
ページの先頭へ戻る