0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Gitでdiffを渡すときに最低限必要な3つのコマンド

Posted at

はじめに

会社ではトランクベース開発をしているのですが、どうしてもGitにPushしてしまうと問題が起きてしまうコードなどが存在します。そこでdiffとしてpatchを出力してもらいapplyすることで対応しています

そんな中でやり方を毎度聞いてしまうので個人的にメモとしてまとめます

diffを渡す手順

1. ステータスを確認する

$ git status
ブランチ main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean
watanabejin@watanabejin-ThinkPad-P1-Gen-5 ~/workspace/git_diff_handson (main) 
$ git add .
watanabejin@watanabejin-ThinkPad-P1-Gen-5 ~/workspace/git_diff_handson (main) 
$ git status
ブランチ main
Your branch is up to date with 'origin/main'.

コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
        modified:   test.md

watanabejin@watanabejin-ThinkPad-P1-Gen-5 ~/workspace/git_diff_handson (main) 
$ git status
ブランチ main
Your branch is up to date with 'origin/main'.

コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
        modified:   test.md

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test2.md

現在の状態は

test.mdcommit
test2.mdadd

されている状態です。

ここですべてのdiffを出すためには、test.mdをコミットからおろして、addした状態にする必要があります。

2. commitをやめる

$ git restore --staged test.md
$ git status
ブランチ main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   test.md
        modified:   test2.md

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

git restore --staged <file名>でコミットからおろすことができました

3. すべてaddされているか確認

diffをだすには差分を出したいファイルがすべてaddされていないといけないのでaddされているか確認します

4. diffを出力

$ git diff --cached > file_name.patch
$ xdg-open .

xdf-openすることでpatchを共有しやすくなります (現在のディレクトリが開きます)

おわりに

備忘録程度にまとめてみました。
聞く前に自分で参考にしたいとおもいます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?