LoginSignup
0
0

More than 1 year has passed since last update.

<初学者向け>Gitの最低限の流れ

Posted at

はじめに

初めまして、公務員からエンジニア転職を目指して勉強している者です。Gitについて改めて復習したので、まとめていきたいと思います。間違い、アドバイス等あればコメント頂きたいです。

目次

1.概要
2.Gitの大まかな流れ
3.ブランチについて
4.GitHubと通信

1.概要

Gitって何?

分散型バージョン管理システム。ざっくりいうと、ファイルを増やさずに、変更履歴を管理できる。個人、チームで開発を進める時に便利なツール。

GitHubって何?

Gitを使ったエンジニアを支援するWebサービスの事。きちんと違いがあるので気をつけましょう。

用語

・ワークツリー:ローカル(自分)の作業環境

・リポジトリ:変更履歴を記録する場所(ローカル環境にあるローカルリポジトリ、リモート環境にあるリモートリポジトリがある)

・ローカルリポジトリリモートリポジトリへ反映させる

・コミット:変更したファイルをgitに登録

・インデックス:コミットするためのファイルを登録

・ステージング:インデックスにコミットするファイルを登録

・ブランチ:(=枝)メインのブランチとは別に変更履歴を分岐させる。そうする事で、メインは影響受けずに同時に変更を進められる

2.Gitの大まかな流れ

1.ローカルリポジトリの新規作成をしてリポジトリを作成(最初の1回のみ)
$git innit

2.変更履歴を記録
$git commit -m "メッセージ"
※"メッセージ"には、どこを変更したか分かる様なメッセージを入れる

$git add ファイル名
※全てコミットする場合は$git add .

3.状況確認
$git diff :リポジトリとワークツリーの変更内容を確認
$git status :変更ファイルを確認

4.履歴の確認
$git log:変更内容を確認

5.元に戻したい時(色々変更してエラーが出たけどどこかわからない・・・一旦戻そう!)
$git restore <ファイル名> :ワークツリーの変更を取り消す
$git restore -staged <ファイル名> :ステージにあげたファイル名変更をワークツリーまで戻す

3.ブランチについて

チーム開発では、ブランチが必要になる(①を作業している時②を作業しないといけない時に同時に進められる)

1.ブランチを作成する
$git branch ブランチ名

ブランチ名について

main : メインで作業してるブランチ
master : 公開するものを置くブランチ
develop : 開発中のものを置くブランチ
release : 次にリリースするものを置くブランチ
feature-* : 新機能開発中に使うブランチ
hotfix-* : 公開中のもののバグ修正用ブランチ

2.ブランチ一覧を表示
$git branch
$git branch -a GitHabのブランチも含めた全てを表示
※-a : all

3.ブランチを切り替える(ブランチを作っただけでそこには移動してない)
※HEAD:自分がいるブランチ
$git switch feature(例でfeatureとする)
$git switch -c feature2 : 分岐のブランチを作成、かつ、そこに移動
※-c : create

4.変更内容をマージ(取り込む)
$git merge feature : 新しいコミットで、mainとfeatureを取り込める
$git merge origin/main : GitHab上のブランチをマージしたい時

5.コンフリクト(変更内容の衝突)
→mainとfeatureで同じ箇所なのに違う編集をしてしまった
<解消方法>
①ファイルの内容を正しい方に修正
②<<,==,>>を削除

GitHubと通信

1.初期設定
GitHubに登録→Gitの初期設定
$git config -global user.name "GitHubのユーザーネーム"
$git config -global user.email "GitHubのメールアドレス"

※ローカルにリポジトリがあれば
ローカルと同じ名前のリポジトリをGitHub上にも作る(接続)

2.リモートリポジトリの追加
$git remote add origin URL : リモートのURLをローカルに登録する
→今後、originという名前でGitHubとやりとりできる

3.push(GitHubにコードをアップ)
$git push origin main

4.pull(ローカルに取り込み、ワークツリーに変更内容を反映)
= fetch + merge
$git pull origin main(origin mainは省略可能)
・コンフリクトが起きたら修正が難しい
・mainブランチにいる時はpullの方が○

※fetch : ローカルに取り込むだけ
→ワークツリーに反映させたい : mergeでワークツリーに取り込む
・mainブランチ以外にいる時はfetch + merge の方が○

5.プルリクエスト(「変更のレビュー→問題なければ取り込む」を依頼する事)
6.コードレビュー
7.merge (変更するを取り込み、ブランチを削除)

おわりに

うまくまとめれているかわかりませんが、誰かの役に立てたら良いと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0