【超初心者必見】gitの使い方をマスターする①
https://qiita.com/ryu110/items/c8c6deecddd66dad6b11
この記事は超初心者必見】gitの使い方をマスターする②の続きです。
https://qiita.com/ryu110/items/9db9d95a260971ab3e41
⑩新しくブランチを作成する。
今いるbranchを確認する。
現在のbranchが確認でき、かつ、作成したbranchも確認できる。
git branch
新しいbranchを作成する場合。
branch名のところに作成したいブランチの名前を入力する。
git branch branch名
作成したブランチに移動したい場合
git checkout branch名
もしブランチを作成してそのまま作成したブランチに移動したい場合
git checkout -b branch名
branchBのブランチで作成したファイルをbranchAのブランチでも使いたい場合
例えば、現在はAのブランチにいるとします。
下記のように記入すればbranchBの内容をbrancghAにも取り組むことができる
git merge branchB
ブランチを削除したい場合
git branch -d branch名
⑪confrictの対象方法
別のブランチでも同じファイルの中を修正して両方のブランチでgit commitをした場合
この場合はgit mergeの時にconfrict(衝突)します。2つのブランチで同じ個所に変更があるので、どちらのコードを残すべきなのかわからないからです。
解決策としては片方のコードに書き換えることです。
下記を入力するとconfrictしている内容がでてくるので、いらないコードのほうを削除して、片方だけ残します。
git merge 取り込みしたいbranch名
confrictとでてくるので、vimでファイル編集
vim index.html
confrictの内容↓
Hellowwwwwwww
<<<<<<< HEAD
I have a pen.
=======
aaaaaaa
www
>>>>>>> master
今回はmasterの内容を取り込んでみます。
その場合、下記のコードのみ残します。
aaaaaaa
www
これで保存すれば問題なくgit addからのgit commitができます。
⑫分かりやすいようにタグをつける
git commit をすると1つ1つに対して一意のidがつきますが、わかりずらいので分かり易いように変更するのがタグ。
直近のコミットに対してタグをつける場合
今回のタグ名はNo.1にしました。ここは自由に変更してください。
git tag No.1
その後に、下記のように書くとtagの一覧がでます。
git tag
コミットした内容を知りたいときにtagをつけとけばすぐに確認できる。No.1はtag名です。
git show No.1
直近ではないコミットに対してタグをつける場合
No.0は自分がつけたいタグ名。
b6qcq7we8dgwwsdは自分がタグ名をつけたいコミットのidを入力。(充分な桁数があれば全ての桁を入力しなくてもよい)
git tag No.0 b6qcq7we8dgwwsd
タグを削除したい場合
No.1は自分が削除したいタグ名です。
git tag -d No.1
⑬gitの様々な短縮名(エイリアス)をつける方法
例えば、git checkout などは長いので打つのが大変です。
それを短縮した形で登録ができます。
例えば、git checkoutを短縮する場合
git config --global alias.co checkout
git statusを短縮する場合
git config --global alias.st status
git branchを短縮する方法
git config --global alias.br branch
git commit を短縮する方法
git config --global alias.ci commit
これらの設定をした後に登録状況を確認したい場合
git config -l
⑭複数人で共同で作業を行う時に、共有のリポジトリを作成する方法
共有レポジトリはshare.gitのようにファイル名.gitとするのが一般的。例えば、Aさんはbig、Bさんはsmallというディレクトリを管理しているとします。
共有レポジトリを作成
mkdir share.git
レポジトリを開く
cd share.git/
gitを共有レポジトリで使えるようにする。
git init --bare
Aさんが共有レポジトリに自分の内容を加える。(既にAさんはbigというレポジトリを持っていることにする)
originは追加する名前なので何でもよい。
share.gitは共有レポジトリの名前。
git remote add origin ~/share.git
これもまたgit config -lで内容は確認できます。
その後に、共有レポジトリに対して内容を加える。
git push origin master
次にBさんも共有していきます。
下記の作業だけで共有ができます。
これでAさんのコミットも共有ができる。
git clone ~/share.git/ small
これでまたファイルの内容を変更したときにgit addからのgit commitをしてあげて、その後に下記のように書けば共有レポジトリに共有されます。今回はBさん側からコミットをしています。
git push origin master
この内容をAさんが引っ張ってくる場合
git pull origin master
複数人で共有する時の良くありがちなエラーは、同じファイルの同じ行に修正を入れて、1人がgit pushをしていてもう一人がまだgit pullをせずに最新の状態ではない時にgit pushをした時にエラーになります。これを解決するには、git pull origin masterでまずは最新の状態を持ってきて、コンフリクトするので、vimコマンドで自分の編集か他の人が変更した編集かどちらかを決めて、その後にgit pushをすれば解決します。