Git cheat sheet
既存のファイをgithubへ登録したい
まずはGithub上で空のリポジトリを作成する。 最初からGithubへ登録したい場合、
cd <directory>git initgit branch -M maingit add .git commit -m "init"git remote add origin <GithubリポジトリのURL>git push origin main
途中からからGithubへ登録したい場合、
cd <directory>git branch -M maingit remote add origin <GithubリポジトリのURL>git push origin main
#init #add #branch #remote #push #commit #push
ファイルを追加したけど、これからどうすれば…
add
サブコマンドでgit
管理下において、commit
サブコマンドで登録
git add <追加フィル>git commit -m "init" <追加ファイル>
#add #commit
リモートリポジトリの変更をローカルへ反映させたい
# リモートの「main」ブランチ → ローカルの「origin/main」ブランチgit fetch# 今いる作業中のブランチにリモートリポジトリの情報を反映git pull
#fetch #push
GithubのリポジトリをローカルPCに取得したい。
git clone <リポジトリURL># Commit履歴が必要ない場合(ファイルサイズ小、ダウンロード時間短)git clone --depth 1 <リポジトリURL>
#clone
とあるブランチで修正途中だったが、ほかのブランチで作業したい
git stash push <メッセージ>git checkout -b <別のブランチ>...いろいろ作業git checkout -b <元のブランチ>git stash pop
サブコマンドsave/applyの組み合わせでもOK. #stash
ブランチを削除したい
git branch -d <branch名>
#branch
ディレクトリ内のファイルバージョン管理したい
タグをつける。タグは文字列、バージョン番号のルールはセマンティック バージョニング 2.0.0 | Semantic Versioningなどを参照して付与する。
git tag -a <タグ名> -m <タグのコメント>git push origin <タグ名># これまでのタグ一覧を表示するgit tag# 指定のタグの内容を表示するgit show <タグ名>
指定のタグの内容を表示する
show
サブコマンドを使います。
git show <tag名>
#show
ファイルを間違えて修正した、もとに戻したい
git checkout <ファイル名>
#checkout
コミットしたけど取り消したい
git log --oneline # コミットID表示git revert <コミットID>
#revert
ログを残したい
commit
時にログを付与します
git commit -m "ログ内容" files...#コミットメッセージを参照しますgit log
#commit #log
ログ内容を修正したい
直前のコミットログが修正できます。
git commit --amend -m "init2"
#commit
ユーザ設定が必要と出たが、どうすれば?
git config --global user.name "お名前"git config --global user.email <emalアドレス>
#config
その他
修正の影響を受けないようbranch(枝)を作って、そのbranchで履歴を管理できる.
# issueというbranchを作成(commitされていない状態だとエラーになります)git branch issue# 実際にissueというbranchで作業するときはcheckoutする必要がある。git checkout -b issue
ファイルを追加した場合は、
git add <ファイル名>git commit -m "コメント" <ファイル名>
修正した場合は、
git commit -m "コメント" <ファイル名>
削除した場合は、
git rm <ファイル名>
タグとしてバージョン番号を付与して管理する。
バージョン番号のルールはセマンティック バージョニング 2.0.0 | Semantic Versioningなどを参照して付与する。
ログってどう書けば…
Conventional Commits Git のコミットメッセージに Semantic Commit Messages のテンプレートを追加する - hiroaki’s blog #commit
ファイル名を変更したい
git mv <old-filename> <new-filename>
一人開発だけど、みんなと同じようにしたい
-
GitHub上でissueを立てる Githubのリポジトリで
Issues
をクリックNew issue
をクリックIssue
を記載する。Markdown形式で記載できる。またわかりやすいラベル付与が右側
Labels
クリックで選択できる。あとから付与することも可能。ついでにAssignees
で担当者をアサインする(まぁ自分だけど…)。 -
issue用のブランチを切る
Issue
画面でDevelopment
でCreate a branch
をクリックしてこのissue
ようのブランチを作成する
ローカルで次のコマンド実行.
git fetch origingit checkout 1-readmeを充実する
- 実際に作業する
vi README>git commit -m "update doc for 1-issue" README.md
- 作業が終わったらissue用ブランチをgit pushする
- git pushされたデータを元に親ブランチにプルリクエストを出す
push
後、リポジトリ画面で、Compare & pull request'が出現する。
Compare & pull request`をクリックする
どうやら修正ファイルで
conflict
がおきてしまったようだ。Resolve conflicts
をクリック
Conflict
部分が表示される。
-
GitHub でのマージ コンフリクトを解決する - GitHub Docs
競合マーカー
<<<<<<<
、=======
、>>>>>>>
を削除し、最終的なマージで必要な変更を行います。完了したらMark as resolved
をクリック。最後にCommit merge
をクリックMerge pull request
をクリックConfirm merge
をクリックPull request
が完了した。不要なブランチを削除するためDelete branch
をクリック。自動的にissueはクローズとなる。
- GitHub上でプルリクエストをmergeしてissue用ブランチを削除する
- ローカルで親ブランチをgit fetchしてmergeする
- GitHub上でissueを閉じる #isuue #pull-request