TortoiseGitで行うGit操作メモ。
Gitクローン作製
・プロジェクトの歴史をすべて取ってくる
・複製するものはプロジェクト全体
1.ブラウザでGitHubなどを開く
2.取り込みたいプロジェクトのHTTPSのタブを選択して、URLをコピーする
3.Gitクローンを作りたいディレクトリで右クリック ⇒ Git Cloneを選択
※ディレクトリは任意
4.コピーしたURLを貼り付け ⇒ OK
※失敗した場合はHTTPにして再挑戦
5.ユーザーとパスワードを入れてダウンロード完了を待つ
ブランチをチェックアウト
1.フォルダの中を選択 ⇒ 右クリック ⇒ TortoiseGit ⇒ Switch/Checkout
2.取ってきたいブランチを選択 ⇒ OK
ブランチを作成
1.ブランチを選択 ⇒ 右クリック ⇒ TortoiseGit ⇒ Create Branch
2.ブランチ名を入力、Branchは元にしたいブランチを選択 ⇒ OK
コミット
・修正したファイルをローカルワークブランチにコミット
・コミットしておけばブランチを切り替えても修正分がなくなったりしない
1.コミットしたいプロジェクトを選択 ⇒ 右クリック ⇒ Git Commit...
2.コミットコメント入力
3.コミットしたいファイルだけを選択
⇒ ファイルはダブルクリックしたら差分が見える
4.OK ⇒ Close
マージ(変更分を今使ってるブランチに取り込む)
・マージはローカルブランチのファイルをコミットしてから行う
・ローカル間の差分の解消に使う
1.プロジェクトを ⇒ 右クリック ⇒ TortoiseGit ⇒ Merge
2.Branchはプルダウンから取り込みたいプロジェクトを選択
3.OK ⇒ Close
ブランチの切り替え
1.プロジェクトを ⇒ 右クリック ⇒ TortoiseGit ⇒ Switch/Checkout
2.Branchはプルダウンから変更したいプロジェクトを選択
3.Create New Branchのチェックを外す
4.OK ⇒ Close
Pull
・リモートにあるブランチの内容をローカルのブランチに取り込む
・コミット済みのブランチであること
1.プロジェクトを ⇒ 右クリック ⇒ TortoiseGit ⇒ Pull
2.下記の内容に合わせる
Remote:originとかmasterとか
Remote Branch:feature/TorikomitaiBranchMei
3.OK ⇒ Close
Push
・エクスプローラでブランチに赤丸がついているとPushできない
・ローカルのワークブランチをリモートにPushする
1.Pushしたいプロジェクトを ⇒ 右クリック ⇒ TortoiseGit ⇒ Push
2.Remoteに名前を入力
リモートに存在する名前を入力すると、そのリモートのブランチに対してPushされる
存在しない名前にすると新規のブランチとしてPushできる
3.OK ⇒ Close
間違えてコミットしてしまった場合
・新しいブランチを作らずに修正してコミットまでしてしまった場合
・Pushではなくコミットまで
・コミットを戻した場合、修正したファイルは消えてしまうので注意
1.エクスプローラーを開く
2.戻したいプロジェクト(フォルダ)を右クリック ⇒ ログを表示
3.戻したい時点の履歴を右クリック ⇒ リセット ⇒ HARD
4.OK
リモートのブランチに知らない間にpushされていて、ローカルの変更がpushできない
・修正中の機能をコミットしてpushしようとしたら、最新じゃないという理由で失敗した
・手元にあるブランチは最新なのにpushに失敗する
1.修正したファイルをローカルに退避する
2.ローカルのブランチを削除
3.ブランチをチェックアウトする
4.最新の内容をマージ
5.退避したファイルを入れ直す
6.pushの手順を行う
変更を一時退避したい
・ある機能を修正している間に別の機能を修正しなければいけなくなった
・コミットはしたくないけど、修正したファイルを全部ローカルにコピーするのは大変
・スタッシュを使うと一時退避できる
1.退避したいプロジェクトを右クリック ⇒ TortoiseGit ⇒ スタッシュへ変更を隠す
2.スタッシュメッセージに機能名やわかりやすい文言を入れておく
3.バージョン管理外のファイルを含むにチェック
4.続行 ⇒ OK
退避した変更を元に戻したい
・スタッシュした退避ファイルを元のブランチに戻したい
・スタッシュは複数回できるが、最後のスタッシュから順に戻していく
・スタッシュを複数回やった場合は戻す順番に注意すること
1.スタッシュした時のブランチに切り替える
2.プロジェクトを右クリック ⇒ TortoiseGit ⇒ スタッシュへ隠した変更を戻す
3.Yes
マージもファイルの戻しもできない
・ファイルで差分が出たり、ファイルが消えたりしておかしくなった
・eclipseの置換やエクスプローラから変更の破棄などをしても失敗して元に戻せない
fatal: Unable to create 'C:/path/to/.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
1.git/index.lock と .git/COMMIT_EDITMSG のファイルを削除