基本的にはコマンドよりTortoiseGitなどのGUIツールを使った方が良いと考えています。
(作業ミス防止の観点からグラフィカルなステータス表示が有効なため)
しかしながら、仮想環境のディレクトリをWindowsにSambaでマウントして作業している場合などは
TortoiseGitで処理速度が著しく遅くなる操作があり、
そのような場合、仮想環境のCUIでコマンドを使えば高速に処理を行うことができます。
ログ全部入り
1 | git log --oneline --decorate --graph --branches --tags --remotes |
※Tortoise Gitでログが見られるときはそちらで見た方が状況を把握しやすいです。
現在の状態表示
1 | git status |
何をすればよいか、元に戻せるかわからなくなったときはこのコマンドで表示される英語をよく読めば
大概は解決できます。
プルする…フェッチした後、自動的にマージする
1 | git pull |
フェッチと同時にマージが実行されるので、自分はリリースのとき以外使ったことがありません。
フェッチする…リモートの履歴情報を受信する
1 | git fetch |
リモートリポジトリーに追加された履歴情報をローカルリポジトリーに追加します。
作業ディレクトリには影響ありません。
ローカルブランチを新規作成する
1 | git branch (新規作成したいブランチ名) |
現在の位置に新規ローカルブランチを作成します。切替は行われません。
ブランチを切り替える
1 | git checkout (既にローカルに存在するブランチ名) |
※作業ディレクトリが最後のコミットから更新されていると失敗します。
コミットかスタッシュをしてください。
ブランチ一覧と現在のブランチを確認する
1 | git branch |
リモートリポジトリーに送信する
1 | git push origin (サーバーに送信したいローカルブランチ名) |
マージする…別の更新作業と合わせる
1 | git merge (現在のブランチにマージしたいブランチ名) |
※よほど大がかりな更新作業でなければ、ログがわかりにくくなるのでリベースをしましょう。
※相手のブランチの更新を自分のブランチに適用するのであって、
今いるブランチの更新を相手のブランチに適用するのではありません。
リベースする…自分の更新作業を別のブランチのHEADから始めたことにする
1 | git rebase (現在のブランチの根元を持っていきたいブランチ名) |
マージと同じく2つのブランチの更新内容を併せるので、マージのように競合が発生する可能性があります。
※一度プッシュしたブランチはリベースしてプッシュすると 履歴が2重に接ぎ木されるので
リベースしてはいけません。
スタッシュする…作業ディレクトリの変更内容を一時的に隠す
1 | git stash |
※新規作成し、git addでgit管理にしていないファイルはスタッシュに含まれません。
スタッシュした変更内容を再度適用する
1 | git stash pop |
※競合が発生することがあります。
その場合はマージなどと違い、git addで競合を解決済みにするだけで大丈夫です。
ローカルリポジトリーのブランチを削除する
1 | git branch -d (ブランチ名) |
リモートリポジトリーのブランチを削除する
1 | git push origin :(ブランチ名) |
※TortoiseGitが使えるなら、そちらからやった方が簡単で安全です。
投稿者プロフィール
最新の投稿
AWS2021年12月2日AWS Graviton3 プロセッサを搭載した EC2 C7g インスタンスが発表されました。
セキュリティ2021年7月14日ゼロデイ攻撃とは
セキュリティ2021年7月14日マルウェアとは
WAF2021年7月13日クロスサイトスクリプティングとは?