2024-04-06
【Tips - Git】実例でわかるシリーズ
みなさんどうも、こんばんみ~。ぎょうざです。
バージョン管理ツール、Git(ギット)の備忘録です。
同じようなケースや現象で躓いている方の参考になれば幸いです。
【目次】
<Useful> ▶Gitの基本 ▶Commit:Commit ログ(メッセージ)でよく使う表現 ▶作業準備編(Pull、Push、Clone、Checkout to、Fetch) ▶作業編(Commit、Changes、Merge、Branch、Remote、Stage、Amend、Rebase、Stash、Tags) ▶Push:現リポジトリの作業中ブランチを別リポジトリへPushする <Error> ▶Commitできない @VScode <Warn> ▶ ??? 〆のひと言
<Useful>
▶Gitの基本
作業する箱=リポジトリをつくろう
作業履歴を記録する=ブランチをつくろう
リポジトリへPushしよう
▶Commit:Commit ログ(メッセージ)でよく使う表現
💡
ログの基本書式:動詞 + 名詞
- 名詞は固有名詞、複数形、不可算名詞とすることが多い
- 単数形の場合の冠詞は a が使われる、あるいは省略
- the は使用されることは稀
- 名詞は固有名詞、複数形、不可算名詞とすることが多い
- 単数形の場合の冠詞は a が使われる、あるいは省略
- the は使用されることは稀
- 修正(Fix:ニュアンス「何かが正しく動くようにした」)
- コード内のバグ、タイポ
- 関数の統合
- ドキュメント(.mdなど)
- 本体コードの修正にあわせてテストも更新したなら、Update
- テスト機構それ自体のバグを修正は、 Fix
- 追加(Add:ニュアンス「何かを追加した」)
- コンポーネント、関数、ドキュメント、テスト、コメント
- 変更(Change:「ドキュメント、コメント、テストに使われ、本体のコード修正に対しては使われない」)
- 文言表現の変更
- ソースコードの関数内容の変更を伴わない変更は、Rename
- 削除(Remove:ニュアンス「無駄な何かを削除した」)
- 不要になった実装、関数の統合
- 改善(Improve:ニュアンス「いまできていることが失われずに何かを新たにできるようにした」)
- 処理速度向上(API応答など)
- メタ情報の動的処理
- 制限(Don't:ニュアンス「何かをできないようにした」)
- 移動(Move:ニュアンス「何かを移動した」)
書くときに配慮したいこと:短く、シンプルに、何をしたかではなく何故そうしたかを書く
▶作業準備編(Pull、Push、Clone、Checkout to、Fetch)
▶作業編(Commit、Changes、Merge、Branch、Remote、Stage、Amend、Rebase、Stash、Tags)
▶Push:現リポジトリの作業中ブランチを別リポジトリへPushする
- 想定場面
Gitで複数のプロジェクトが1つのリポジトリに混在してしまい
ブランチ=プロジェクトという扱いとなってしまった場合に、
履歴を残した状態でブランチを別のリポジトリに分割したい
- やりたいこと
リポジトリ A にある branch-a ブランチ(例 https://github.com/example-a/a.git)の内容を、
リポジトリ B にある branch-b ブランチ(例 https://github.com/example-b/b.git)に push したい。
💡
上記リポジトリ名は各自、自身の環境におきかえて作業してください。
- やったこと
まず自分のローカルリポジトリのリモート先を以下コマンドで確認します。
git remote -v
origin https://xxxxxxxxxx.git (fetch)
origin https://xxxxxxxxxx.git (push)
①リモートリポジトリをローカル環境に複製する
git clone https://github.com/example-a/a.git
②現在のリモートリポジトリのURLを確認する
git remote -v
③リモートリポジトリを変更する
git remote set-url origin [変更したいリポジトリのURL]
④変更したリモートリポジトリのURLになっているか確認する
git config remote
⑤ローカルの作業中ブランチをpushする
git push origin https://github.com/example-b/b.git
- push 元のブランチ名と、push先のリモートリポジトリ名・ブランチ名を指定して push する
git push b branch-a:branch-b
<Error>
▶Commitできない @VScode
- 現象:VScodeのUI上からCommit時に、
make sure you configure your "user.name" and "user.email" in git
のポップアップが出る - 原因:開発PC上での
.git
ファイルのローカル情報にuser.name
とuser.email
が設定されていない - 解決策:VScodeのターミナル上で
git config --global user.name "任意のユーザー名"
git config --global user.email "任意のメールアドレス"
<Warn>
▶ ???
〆のひと言
最初は怖いですが、使いこなせるようになれると
とても心強いツールです!
ここまで読んでいただき、ありがとうございます。
以上、ぎょうざでした。