githubにpushしてみたい!のでやってみました。
端末はmac、以下のQiita記事を参考にさせていただきつつ手を動かしています。
大感謝〜!
あとわかばちゃんと学ぶGitのマンガも読みました。
結構良書ですw
やってみる
githubアカウントを作成し、リモートリポジトリを作成。
gitは以前にhomebrewでインストールしていたようです。
さっとググっておさらい。バージョンが古そうですが、今回はこれで。
# git --version
git version 2.20.1 (Apple Git-117)
homeディレクトリにgithub/githubtestディレクトリを作成し、git init。
git initでローカルリポジトリが作成されるとのこと。
ローカルリポジトリ=管理するディレクトリやファイルを置く領域。ディレクトリ。
確かに隠しディレクトリで.initが作成されました。内容はよくわからんのでそっとしておきます。
# ls -lha
.
..
.git
適当にテキストファイルを作成し、ローカルリポジトリに配置。
# vi hellogit
hello my git!github!!
git addで変更点をインデックスに追加。
インデックス=変更点をローカルリポジトリに保存する前に登録する場所?
ここにローカルリポジトリ(変更前)との差分を保存する。。のかw?時間経過で具体化できると信じよう。
# git add hellogit
インデックスに変更点を追加したらコミットする。
コミット=ローカルリポジトリへの変更点の登録。上書き?
で、そのバージョン管理をしているからいついつ変更したファイルを何時でも使用できるのがgit。。のように読み取れますがどうなのでしょうねw
-mはmsgの略とのことです。
# git commit -m "はじめてのgithub!"
>
改行されて>が出力されましたが、たぶんこれは意図せぬ何かの気がしますw
git commitでググるとgit statusなるコマンドがヒットしました。見てみる。
# git status
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: hellogit
まだコミットしてませんよ〜できてませんよ〜かな?
適当に手を動かしたら'文字列'で成功しました。
# git commit -m 'はじめてのgithub!'
これでインデックスの内容がローカルリポジトリへ登録されました。なんか嬉しい。
リモートリポジトリを作成した時に生成されたgithubのURLをインデックスへ登録。
先ほどのインデックスの理解が少し違う気がするけど進める。
# git remote add origin URL
インデックスに登録したよ!みたいなメッセージはないんですね。
続いていよいよpush。
# git push origin master
Username for 'https://github.com': #githubのUsernameを入力
Password for 'https://Username@github.com': #Usernameに対するPasswordを入力
一瞬ん?となりましたがユーザ名とパスを入力し無事pushできた。。ように見えますのでw、ブラウザで確認。
pushできてる!やったぜ!
ちなみにorigin masterはローカルのmasterブランチを git にpushする、を意味するらしい。
我が地元の雄、Backlogの記事がとてもわかりやすかったです。
編集してみる。
viで適当に行を追加、インデックスにaddしてgit statusで確認。
commit -mしてpushしてブラウザで確認して完了!手を動かすと理解も早いですね。
コンソール開きっぱで作業したのですが、ユーザ名とパスは聞かれませんでした。
1度pushしたからかな?
ここまでで基本の基本は一旦完了。
ブランチ
ブランチ。。。。???
とりあえずQiita記事にありがたく倣ってみます。
git branch testbranch
git branch
* master
testbranch
Railsチュートリアルで見た事あるやつが!!!
うっすらと思い出しました。
ブランチの変更。
git checkout testbranch
master
* testbranch
おお。なんか嬉しくなりますねw
ブランチを変更したあとは先の流れ通り。
インデックスにaddしてローカルリポジトリにcommitしてgit push origin testbranch。
ブラウザで確認して完了です。
先人の知恵に感謝感謝であります。
マージ
testbranchでの変更点をmasterbranchに反映させることをマージと呼ぶそうです。ふむ(わかってない)
git checkout masterでブランチの切り替え後にmergeするようです。
merge後はmasterをpush。
git merge testbranch
git push origin master
ブラウザでmasterブランチを選択し確認。反映されてました。
ブランチの削除
お試しブランチ作成時に速攻で間違えたので調べましたw
gitってタブで補完してくれないんですね。プラグインとかあるのかな。
git branch --delete ブランチ名
本日はここまで。
よく聞くpull、クローン、ローカルのコンソールで作業してる時の切り替え(これはgit)など疑問が残っていますので改めて調べたいと思います。