ツール:git

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
ツール:git [2020/05/21 11:44] – [コミット日時の変更] mumeiyamibitoツール:git [2024/03/13 16:26] (現在) – [コミット間の移動 (過去の状態に戻す)] mumeiyamibito
行 101: 行 101:
     * ''--soft'': ''--hard'' の代わりに与えるオプションで、作業ディレクトリの内容は維持する     * ''--soft'': ''--hard'' の代わりに与えるオプションで、作業ディレクトリの内容は維持する
     * ''HEAD^'': 直前のコミットを示す     * ''HEAD^'': 直前のコミットを示す
 +
 +  * 直前のコミット削除 (マージコミットの完全削除)\\ <code bash>$ git reset --hard ORIG_HEAD</code>
 +    * push 後には使えない。
 +    * push 後の削除は、revert コマンドを使って、前の状態に戻した履歴を残す必要がある。\\ <code bash>$ git revert -m 1 MERGE_COMMIT</code>
 +      * ''-m'' で残す親を指定する。
 +    * 参考サイト: [[https://qiita.com/chihiro/items/5dd671aa6f1c332986a7 | 【git】マージしたけどやっぱりやめたい時のやり方4種類 - Qiita]]
  
   * 指定コミット以降の削除\\ <code bash>$ reset --hard COMMIT</code>   * 指定コミット以降の削除\\ <code bash>$ reset --hard COMMIT</code>
行 118: 行 124:
         * ''drop'': コミットの削除 (conflict が起こった場合、conflict を解消するために何度も質問される)         * ''drop'': コミットの削除 (conflict が起こった場合、conflict を解消するために何度も質問される)
  
-==== コミット間の移動 ====+==== コミット間の移動 (過去の状態に戻す) ====
   * 特定のコミットに移動する場合 (ただし、ローカルに変更があった場合は、変更ファイルの状態を維持する)\\ <code bash>$ git checkout COMMIT</code>   * 特定のコミットに移動する場合 (ただし、ローカルに変更があった場合は、変更ファイルの状態を維持する)\\ <code bash>$ git checkout COMMIT</code>
   * ローカルの変更を無視して、特定のコミットに移動する場合 (変更ファイルも特定コミット状態になる)\\ <code bash>$ git checkout -f COMMIT</code>   * ローカルの変更を無視して、特定のコミットに移動する場合 (変更ファイルも特定コミット状態になる)\\ <code bash>$ git checkout -f COMMIT</code>
行 125: 行 131:
   * 特定のファイルのみ特定のコミットに戻す (ローカルの変更無視)\\ <code bash>$ git checkout -f COMMIT FILE</code>   * 特定のファイルのみ特定のコミットに戻す (ローカルの変更無視)\\ <code bash>$ git checkout -f COMMIT FILE</code>
     * ''FILE'': 戻したいファイル     * ''FILE'': 戻したいファイル
 +  * 特定のファイルの過去のバージョンを別ファイルとして取り出す
 +    * cat-file を使う方法\\ <code bash>$ git cat-file -p COMMIT:FILE1 > FILE2</code>
 +    * show を使う方法\\ <code bash>$ git show COMMIT:FILE1 > FILE2</code>
 +      * ''COMMIT'': コミットのハッシュ値
 +      * ''FILE1'': 戻したいのファイル
 +      * ''FILE2'': 保存先
  
 ==== タグ ==== ==== タグ ====
行 144: 行 156:
   * ブランチの作成 (コミットを分岐させる時に使う; 仕様で迷った場合等)\\ <code bash>$ git branch BRANCH_NAME</code>   * ブランチの作成 (コミットを分岐させる時に使う; 仕様で迷った場合等)\\ <code bash>$ git branch BRANCH_NAME</code>
     * ''BRANCH_NAME'': ブランチ名     * ''BRANCH_NAME'': ブランチ名
-  * ブランチの一覧表示\\ <code bash>$git branch</code>+  * ブランチの一覧表示\\ <code bash>$ git branch</code>
   * ブランチの削除 (マージ済みのブランチのみ)\\ <code bash>$ git branch -d BRANCH_NAME</code>   * ブランチの削除 (マージ済みのブランチのみ)\\ <code bash>$ git branch -d BRANCH_NAME</code>
     * ''BRANCH_NAME'': ブランチ名     * ''BRANCH_NAME'': ブランチ名
-  * ブランチの削除\\ <code bash>$ git branch -D BRANCH_NAME</code>+  * ブランチの削除 (ローカル)\\ <code bash>$ git branch -D BRANCH_NAME</code> 
 +    * ''BRANCH_NAME'': ブランチ名 
 +  * ブランチの削除 (リモート)\\ <code bash>$ git push origin :BRANCH_NAME</code>
     * ''BRANCH_NAME'': ブランチ名     * ''BRANCH_NAME'': ブランチ名
 +  * ブランチの名前変更 (ローカル)\\ <code bash>$git branch -m BRANCH_NAME NEW_NAME</code>
 +    * ''BRANCH_NAME'': 変更したいブランチ名
 +    * ''NEW_NAME'': 変更後のブランチ名
   * ブランチ間の移動\\ <code bash>$ git checkout BRANCH_NAME</code>   * ブランチ間の移動\\ <code bash>$ git checkout BRANCH_NAME</code>
     * ''BRANCH_NAME'': ブランチ名     * ''BRANCH_NAME'': ブランチ名
行 199: 行 216:
 ==== git のリモート先の変更 ==== ==== git のリモート先の変更 ====
   - 現在のリポジトリに適用されているリモートの URL を確認する。\\ <code bash>$ git remote -v</code>   - 現在のリポジトリに適用されているリモートの URL を確認する。\\ <code bash>$ git remote -v</code>
-  - 移行先の新しい URL を設定する。\\ <code bash>git remote set-url origin NEW_URL</code>+  - 移行先の新しい URL を設定する。\\ <code bash>git remote set-url origin NEW_URL</code>
     * ''NEW_URL'' 移行先の URL     * ''NEW_URL'' 移行先の URL
   * 参考サイト: [[https://qiita.com/minoringo/items/917e325892733e0d606e | gitのremote urlを変更する(レポジトリ移行時) - Qiita]]    * 参考サイト: [[https://qiita.com/minoringo/items/917e325892733e0d606e | gitのremote urlを変更する(レポジトリ移行時) - Qiita]] 
  
  • ツール/git.1590029055.txt.gz
  • 最終更新: 2020/05/21 11:44
  • by mumeiyamibito