tips:git:start
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| tips:git:start [2023/12/20 02:17] – [歴史改変] yuuho | tips:git:start [2025/06/23 19:31] (現在) – [branch を扱う] yuuho | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== Git ====== | ====== Git ====== | ||
| + | === 未整理 === | ||
| + | |||
| + | * git addでステージングしたファイルをアンステージング(キャンセル)する | ||
| + | * https:// | ||
| + | * 【Git】git管理下のファイルをリネームしたらdeletedとuntrackedの2つになってしまった時 | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | |||
| === 変更を無かったことにする === | === 変更を無かったことにする === | ||
| 行 19: | 行 28: | ||
| === GitHubに登録している鍵の把握 === | === GitHubに登録している鍵の把握 === | ||
| < | < | ||
| + | |||
| + | |||
| + | ==== git diff ==== | ||
| + | |||
| + | * workdir (現在の状態) | ||
| + | * staging (add) | ||
| + | * repository (commit) | ||
| + | |||
| + | * < | ||
| + | * < | ||
| + | |||
| + | |||
| + | 見やすさのために | ||
| + | < | ||
| + | |||
| + | ==== コミットを作らず差分の共有をする ==== | ||
| + | <code bash> | ||
| + | # パッチファイルを作るとき(working vs staging) | ||
| + | git diff > hoge.patch | ||
| + | ## ↑は staging と workingdir の比較 | ||
| + | ## 前回 commit と workingdir を比較する場合は | ||
| + | git diff HEAD > hoge.patch | ||
| + | # パッチを適用するとき(コミットを作らず working に展開) | ||
| + | git --git-dir= apply -p1 hoge.patch | ||
| + | # または | ||
| + | patch -p1 < hoge.patch | ||
| + | |||
| + | # パッチを戻すときは | ||
| + | git --git-dir= apply -R -p1 hoge.patch | ||
| + | ## というように -R オプションを付ければよい。 | ||
| + | </ | ||
| + | |||
| + | 特定のディレクトリ以下について調べる場合は '' | ||
| + | |||
| + | patch も base64 で共有するのが良いかも。空白などの情報が大切みたい。 | ||
| + | |||
| + | |||
| + | |||
| + | ==== bundle を使ってコミットを共有する ==== | ||
| + | |||
| + | 以下のような流れで実行する | ||
| + | |||
| + | * 最初に現在の状態を bundle にする。 <code bash>git bundle create v00_first.bundle master</ | ||
| + | * 他の環境で bundle を復元 <code bash>git clone v00_first.bundle repo_name</ | ||
| + | * 場合によっては ディレクトリに入ってから '' | ||
| + | * 作業している環境で新しいコミットを作る <code bash>git add hogehoge | ||
| + | git commit -m " | ||
| + | * 差分だけを bundle 化。< | ||
| + | * 別環境で差分 bundle を pull <code bash>git remote add diff_commit / | ||
| + | git pull diff_commit HEAD</ | ||
| + | |||
| + | |||
| + | |||
| + | |||
| 行 53: | 行 116: | ||
| <code bash>git reset --soft HEAD^</ | <code bash>git reset --soft HEAD^</ | ||
| でcommitコマンドを無かったことにする. | でcommitコマンドを無かったことにする. | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| === 強制push === | === 強制push === | ||
| 行 94: | 行 161: | ||
| === 設定を確認する === | === 設定を確認する === | ||
| <code bash>git config --get hoge.fuga.piyo</ | <code bash>git config --get hoge.fuga.piyo</ | ||
| + | |||
| + | === 設定を消す === | ||
| + | <code bash>git config --unset hoge.fuga.piyo</ | ||
| 行 128: | 行 198: | ||
| * その後< | * その後< | ||
| - | === コミットの取り消し === | + | === マージコミットの取り消し === |
| + | マージコミットや過去の複数のコミットを取り消すにはどうすればよいかという話。\\ | ||
| + | コミット取り消しには '' | ||
| + | 基本的には revert が推奨らしい。ただし、reset のほうが考えることが少なくて便利。 | ||
| + | また、マージコミットについては、revert で取り消すのはとても大変なので、 | ||
| + | reset するべし。 | ||
| + | |||
| 行 158: | 行 235: | ||
| git commit -m " | git commit -m " | ||
| </ | </ | ||
| + | |||
| + | ===== コマンド ===== | ||
| + | |||
| + | ==== add したものの確認 ==== | ||
| + | <code bash>git diff --cached</ | ||
| + | |||
tips/git/start.1703038641.txt.gz · 最終更新: 2023/12/20 02:17 by yuuho
