よく検索するGitコマンドの覚書。自分用

git_commandgitも慣れてきたけど、たまにしか使わないのだけ覚書。

Windows8.1からLinuxの共有ファイル上でコマンド打っている。

Git for Windowsに付属している「Git Shell」がブランチ名をtab補完出来たり使いやすい。

コマンド忘れたら「-h」で確認。
# git commit -h

前のコミットに上書き
# git commit --amend

2つのコミットを1つにする
# git rebase

間違えて社内GitLabアカウントでGitHubにプッシュしてしまったとき。

 

Push処理後に作業していたローカルリポジトリをリモートに合わせる
# git fetch origin
# git reset origin/master

 

GitLab上でブランチを削除したあとに作業クライアントで同期させる(git fetchでは取りに行くだけで同期しない)
# git fetch --prune

 

全部追加して、特定のファイルだけ管理対象から外したいとき
# git add --all
# git rm --cached hoge.config

 

コンフリクトした後などに特定のファイルはorigin/masterで上書きしたい
# git checkout origin/master -- /path/to/file

設定ファイルはローカルリポジトリが正しい
# git checkout HEAD -- /path/to/file

 

ブランチを作る前にmasterにコミットしてしまった場合。コミットをなかったことにして、ブランチに反映させる。
# git reset --soft HEAD^
# git checkout -b develop
# git commit -m 'developing some features'

 

ブランチの名前付けとか参考になった

 

git 2.0からgit posh originのデフォルト動作が変わるらしい。今まで同じ動作にしたい場合
# git config --global push.default matching

 

前のバージョンを試したいとき。今やっている作業を一時退避
$ git stash

特定のブランチのmasterに取り込まれていない変更履歴表示
$ git log --oneline master..<branch>

特定のリビジョンに変更
$ git checkout 7f09696

確認が終わったら今の作業を捨てて元のブランチに戻る
$ git reset --hard
$ git checkout <branch>

一時退避したファイルを確認して戻す
$ git stash list
$ git stash apply


【2022/03/03追記】

Git 2.23からrestoreコマンドが追加された。
カレントディレクトリの変更を元に戻す
$ git restore .

git管理外のファイルをディレクトリも含めて削除。
$ git clean -f -d


< Related Posts >