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