Site icon image World Hacker(ぎょうざブログ)

Think Different, Connect Dots for Line.

【Tips - Git】実例でわかるシリーズ

みなさんどうも、こんばんみ~。ぎょうざです。

バージョン管理ツール、Git(ギット)の備忘録です。

同じようなケースや現象で躓いている方の参考になれば幸いです。

【目次】

<Useful>

▶Gitの基本

作業する箱=リポジトリをつくろう

作業履歴を記録する=ブランチをつくろう

リポジトリへPushしよう

▶Commit:Commit ログ(メッセージ)でよく使う表現
💡
ログの基本書式:動詞 + 名詞
- 名詞は固有名詞、複数形、不可算名詞とすることが多い
- 単数形の場合の冠詞は 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.nameuser.emailが設定されていない
  • 解決策:VScodeのターミナル上で
git config --global user.name "任意のユーザー名"
git config --global user.email "任意のメールアドレス"


<Warn>

▶ ???

〆のひと言

最初は怖いですが、使いこなせるようになれると
とても心強いツールです!

ここまで読んでいただき、ありがとうございます。

以上、ぎょうざでした。