gitを使った進捗管理の流れは大体以下の通りです。
- ファイルを編集をした後、キープしたい変更点を
add
コマンドでステージングエリアに貯めていきます。 - ステージングエリアに貯まった変更点を
commit
コマンドでひとまとまりとして保存します。 - ローカルリポジトリに保存したcommitを
push
コマンドでリモートリポジトリに反映します。
(push
するだけでは作業用のブランチはメインブランチにマージされないので必要に応じて別途マージする)
よく使うコマンド
status
関連add
関連commit
関連pull
,push
関連checkout
関連
変更されているファイル確認する
git status
特定のファイルの変更をなかったことにする
git checkout -- ファイル名
管理対象外にするファイルは.gitignoreに追加する
- gitignoreファイルを作成する。
code .gitignore
- gitignoreファイルの中身を入力して保存する。
# ファイル名はそのまま入力
test.txt
# ディレクトリは/を付ける
# 子ディレクトリも全て名前が一致するものはignoreされる
pickle/
__pycache__/
# 拡張子で指定する場合は*
*.pkl
*.ipynb_checkpoints
ファイル名を変更する
git mv 元ファイル名 新ファイル名
ファイルを削除する
git rm ファイル名
# trackされていないファイルの場合
rm ファイル名
変更したファイルをステージングエリアにステージ(add)する
# 全ての変更したファイル
git add .
# ファイル単位で
git add ファイル名
# ディレクトリ単位で
git add ディレクトリ名
ステージングエリアにaddした変更点をアンステージする
# すべてのステージをキャンセルする
git restore --staged .
# ファイル単位で
git restore --staged ファイル名
# ディレクトリ単位で
git restore --staged ディレクトリ名
ステージした変更点をローカルリポジトリにコミットする
git commit -m "コミットメッセージ"
直前のコミットを取り消す
# コミットした内容をステージングエリアに戻す
git reset --soft HEAD^
# 全てなかったことにする(前のコミットの状態に戻る)
git reset --hard HEAD^
特定のコミットを最新のコミットとする
ブランチを切って以下のコマンドを実行してマージする。
git revert コミットID
コミット履歴を見る
git log --oneline --graph
※全ブランチの履歴を見たい場合は--all
を付ける
特定のコミットの情報を見る
git show コミットID
最新のリモートリポジトリをpullする(プッシュする前に必ず実施)
# git pull リモートリポジトリ ブランチ名
git pull origin update-readme
ローカルのcommitをリモートリポジトリにpushする
# git push リモートリポジトリ ブランチ名
git push origin update-readme
※pull
とpush
をする度にブランチを指定するのは面倒くさいので、–set-upstreamを一度すると以降はブランチを指定せずにgit pull
とgit push
だけでOKになる。
git push --set-upstream origin update-readme
#以降は
git push
特定のcommitの状態を復元する
git checkout コミットID
※コミットIDはコミット履歴から確認する。
CommitにTagがついている場合、TagでCommitを指定することも可能
Tag情報をリモートリポジトリから取得するにはgit fetch --tags --all
git checkout tags/タグ名