コンテンツにスキップ

Git cheat sheet

<sodipodi:namedview id=“namedview127” pagecolor=“#ffffff” bordercolor=“#000000” borderopacity=“0.25” inkscape:showpageshadow=“2” inkscape:pageopacity=“0.0” inkscape:pagecheckerboard=“0” inkscape:deskcolor=“#d1d1d1” inkscape:zoom=“0.4146332” inkscape:cx=“483.55993” inkscape:cy=“203.79458” inkscape:window-width=“1409” inkscape:window-height=“1237” inkscape:window-x=“956” inkscape:window-y=“52” inkscape:window-maximized=“0” inkscape:current-layer=“graph-div” />

git ファイル リモート ブランチ タグ 削除・取り消す ログ 設定 既存のファイをgithubへ登録したい ファイルを追加したけど、これからどうすれば… リモートリポジトリの変更をローカルへ反映させたい GithubのリポジトリをローカルPCに取得したい。 とあるブランチで修正途中だったが、ほかのブランチで作業したい ブランチを削除したい ディレクトリ内のファイルバージョン管理したい 指定のタグの内容を表示す ファイルを間違えて修正した、もとに戻したい コミットしたけど取り消したい ログを残したい、 ログ内容を修正したい ユーザ設定が必要と出たが、どうすれば?

git-mindmap.svg

既存のファイをgithubへ登録したい

まずはGithub上で空のリポジトリを作成する。 最初からGithubへ登録したい場合、

cd <directory>
git init
git branch -M main
git add .
git commit -m "init"
git remote add origin <GithubリポジトリのURL>
git push origin main

途中からからGithubへ登録したい場合、

cd <directory>
git branch -M main
git remote add origin <GithubリポジトリのURL>
git push origin main

#init #add #branch #remote #push #commit #push

ファイルを追加したけど、これからどうすれば…

addサブコマンドでgit管理下において、commitサブコマンドで登録

Terminal window
git add <追加フィル>
git commit -m "init" <追加ファイル>

#add #commit

リモートリポジトリの変更をローカルへ反映させたい

Terminal window
# リモートの「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

ブランチを削除したい

Terminal window
git branch -d <branch名>

#branch

ディレクトリ内のファイルバージョン管理したい

タグをつける。タグは文字列、バージョン番号のルールはセマンティック バージョニング 2.0.0 | Semantic Versioningなどを参照して付与する。

git tag -a <タグ名> -m <タグのコメント>
git push origin <タグ名>
# これまでのタグ一覧を表示する
git tag
# 指定のタグの内容を表示する
git show <タグ名>

指定のタグの内容を表示する

showサブコマンドを使います。

Terminal window
git show <tag名>

#show

ファイルを間違えて修正した、もとに戻したい

Terminal window
git checkout <ファイル名>

#checkout

コミットしたけど取り消したい

Terminal window
git log --oneline # コミットID表示
git revert <コミットID>

#revert

ログを残したい

commit時にログを付与します

Terminal window
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 "コメント" <ファイル名>

修正した場合は、

Terminal window
git commit -m "コメント" <ファイル名>

削除した場合は、

git rm <ファイル名>

タグとしてバージョン番号を付与して管理する。

バージョン番号のルールはセマンティック バージョニング 2.0.0 | Semantic Versioningなどを参照して付与する。

ログってどう書けば…

Conventional Commits Git のコミットメッセージに Semantic Commit Messages のテンプレートを追加する - hiroaki’s blog #commit

ファイル名を変更したい

Terminal window
git mv <old-filename> <new-filename>

一人開発だけど、みんなと同じようにしたい

  1. GitHub上でissueを立てる GithubのリポジトリでIssuesをクリック Pasted image 20241014205617.png New issueをクリック Pasted image 20241014205754.png Issueを記載する。Markdown形式で記載できる。 Pasted image 20241014210018.png またわかりやすいラベル付与が右側Labelsクリックで選択できる。あとから付与することも可能。ついでにAssigneesで担当者をアサインする(まぁ自分だけど…)。 Pasted image 20241014205923.png

  2. issue用のブランチを切る Issue画面でDevelopmentCreate a branchをクリックしてこのissueようのブランチを作成する Pasted image 20241014211454.png

ローカルで次のコマンド実行.

git fetch origin
git checkout 1-readmeを充実する
  1. 実際に作業する
vi README>
git commit -m "update doc for 1-issue" README.md
  1. 作業が終わったらissue用ブランチをgit pushする
  2. git pushされたデータを元に親ブランチにプルリクエストを出す push後、リポジトリ画面で、Compare & pull request'が出現する。Compare & pull request`をクリックする Pasted image 20241014213212.png

Pasted image 20241014213613.png どうやら修正ファイルでconflictがおきてしまったようだ。Resolve conflictsをクリック Pasted image 20241014213737.png Conflict部分が表示される。

  1. GitHub上でプルリクエストをmergeしてissue用ブランチを削除する
  2. ローカルで親ブランチをgit fetchしてmergeする
  3. GitHub上でissueを閉じる #isuue #pull-request

参考文献