変更点をadd, commit, pull, pushする

gitを使った進捗管理の流れは大体以下の通りです。

  1. ファイルを編集をした後、キープしたい変更点をaddコマンドでステージングエリアに貯めていきます。
  2. ステージングエリアに貯まった変更点をcommitコマンドでひとまとまりとして保存します。
  3. ローカルリポジトリに保存したcommitをpushコマンドでリモートリポジトリに反映します。
    pushするだけでは作業用のブランチはメインブランチにマージされないので必要に応じて別途マージする)

よく使うコマンド

変更されているファイル確認する

git status

特定のファイルの変更をなかったことにする

git checkout -- ファイル名

管理対象外にするファイルは.gitignoreに追加する

  1. gitignoreファイルを作成する。
code .gitignore
  1. 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

pullpushをする度にブランチを指定するのは面倒くさいので、–set-upstreamを一度すると以降はブランチを指定せずにgit pullgit 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/タグ名