Skip to content

Instantly share code, notes, and snippets.

@rerrahkr
Last active November 21, 2021 12:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rerrahkr/c0e8333a3229982c15790d6b786d9d24 to your computer and use it in GitHub Desktop.
Save rerrahkr/c0e8333a3229982c15790d6b786d9d24 to your computer and use it in GitHub Desktop.
git関連のメモ
  • 作業完全取り消しは
    $ git reflog  # 履歴表示してコミット番号コピー
    $ git reset --hard 戻す位置のコミット番号
  • 現在修正中の変更をすべて取り消して最後のコミット状態に戻すときは
    $ git checkout .
    $ git clean -df .   # 新規ファイルを削除
  • 直前のコミットの修正は
    $ git commit --amend [-m メッセージ | --no-edit]
  • コミットのみ取り消しは
    $ git reflog
    $ git reset --soft 戻す位置の番号
  • コミットの整理は
    $ git rebase -i 残す最後のコミット番号
  • ローカルから強制pushは
    $ git push --force-with-lease
  • リモートから強制更新は
    $ git reset --hard origin/master
  • HEADは最新コミット
    • HEAD^はひとつ前のコミット(親コミット),HEAD^^またはHEAD^2は別の親コミット
    • HEAD~はひとつ前のコミット,HEAD~~またはHEAD~2は2つ前のコミット
  • clone後の最初のsubmoduleの更新は
    $ git submodule update -i
  • ブランチ切り替えした際にsubmoduleの内容を切り替え先のコミットと合わせるためには
    $ git submodule update
  • submoduleの更新は
    $ git submodule update --remote [特定のサブモジュールへのパス]
  • 特定ブランチをcloneするときは
    $ git clone -b ブランチ名 リポジトリのアドレス
  • 共著者を追加するには,コミットメッセージの2行後に以下の行を追加
    Co-authored-by: name <name@example.com>
  • Committerを変えずにAuthorを変えるときは
    $ git commit --author="name <name@example.com>"
  • CommitterとAuthorを確認したいときは
    $ git log --pretty=fuller
  • 最新のリモートのmainの情報を別ブランチに持ってきてrebaseするときは
    $ git pull --rebase origin main
  • 新規ブランチ作成&checkoutは
    $ git checkout -b ブランチ名
  • 書いた内容を反映させるにはプロジェクトのルートにcdしたあと、
    $ git rm -r --cached .
    $ git add .
    で新しい.gitignoreを反映してステージングされる。
  • !を先頭につけることで否定の表現ができる。
  • 最初に/をつけるとカレントディレクトリからの相対表記に、つけなければ以下の階層で当てはまるもの全てが対象になる。
  • ルートより下の階層に.gitignoreを作ることができる。深い層にあるものほど優先される。
  • コメントアウトは#
  • 基本的にgitignore.ioから生成したものをカスタマイズするのが良い
  • 新規ファイルをローカルでのみ無視するときは.git/info/excludeを編集
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment