個人的なGitメモ
もし間違ってたり、抜けてるところがあったり、似たような記事があったらごめんなさい💦
Git…バージョン管理システムの一つ
branch…時間軸のこと
merge…時間軸を統合すること
commit…変更を反映すること
git flow…リモートリポジトリを一つ決めて、Gitを中央集権的に扱うbranch運用
リモートリポジトリ…バージョン管理システム(Gitなど)で、ネットワーク上のサーバで運用され、プロジェクトの大本のファイル群を保管、管理するリポジトリ
(GitHubとか)
ローカルリポジトリ…ローカル環境に保管、管理されているリポジトリ
基本的な手順、コマンド集
Gitを使うための準備
git init
共有したい(任意のファイル名)を指定
git add (任意のファイル名)
変更を適応させる
git commit -m “(任意のメッセージ)”
リモートリポジトリの登録
git remote add (任意のリモートリポジトリ名) (任意のリモートリポジトリのURL)
リモートリポジトリにファイルをアップ
git push (リモートリポジトリ名) master
リモートリポジトリからファイルをダウンロード
git pull (リモートリポジトリ名) master
commit履歴の表示
git log (-p)
-p…変更内容の表示
q…表示終了
現在あるbranchを確認
git branch
新しいbranchの作成
git branch (任意の名前)
(任意の名前)への移動
git checkout (任意の名前)
mergeの手順
mergeするbranchに移動
git checkout (mergeされるbranch)
mergeされるbranchにmergeする
git merge (mergeするbranch)
mergeする時の注意点
mergeするbranchとmergeされるbranchで同じ箇所を変更していた場合、
どちらを残すべきかを自動で判別できない
→コンフリクトという
コンフリクトが起きた場合、手動で差分を取り込んで、コンフリクトを解消させる
状態確認
git status
both modified←コンフリクトしているファイル
どこのcommitで分岐したか調べる(commit時のパスの表示)
git merge-base (branch1) (branch2)
(調べたいファイル)のどこがどのように変更されたか調べる
git diff (分岐時のパス) (ブランチ名) (調べたいファイル)
(任意のファイル名)を開く(viみたいなもの)
emacs (任意のファイル名)
(任意のファイル名)の内容を表示
cat (任意のファイル名)
再度mergeする
git merge —continue