git/github使い方
Github・Gitの使い方
特に目新しいことはないので、自分用のメモです。
Githubレポジトリの作成
GitHub超入門 というサイトを読んでいく。
Github Desktopというものもあるらしいが、まずはコマンドラインで勉強する。
レポジトリを新しく作成した。
レポジトリはコードやタスク管理の中心になるページ。
ここをリモートリポというらしい。
ここをコピー(pull)して、そのコードを編集する。
Git ローカルレポジトリ
ローカルの環境にgit-repo
フォルダを作ります。
クローンしてレポジトリをコピーするとき、
ここにGithubレポジトリのアドレスをコピーするのですが、これは正直面倒。
デスクトップ版はその辺が簡単だといいのですけど
ここでほかの初心者用サイトを巡回していたら成程、ローカルレポジトリを作ってからGithubに同期する方法と二つあるのか。
git初心者入門 qiita
とりあえずclone
のパターンをやっていく。
昔、gitのインストールをやったときにユーザーの紐づけはやっているのかもしれない。
clone
0. cloneでコピーしてくる
Github上のレポジトリをメインとして、そのコピーに変形を加えていく。
それをするためのbranch
まず
git clone [repo-adress]
でクローンする。
1. branchの有無を確認し、つくる
確認のコマンド
\git-repo\my-first-repo> git branch * master
アスタリスクがmasterブランチ。
git checkout -b [branch名]
でブランチを作る。
機能ごとにブランチを作るとのことだが、gドライブでも使えるのかな。
このqiitaの記事ではcolabのノートブック上でgitをcloneするとある。
colabからipynbをgithubにアップロードして、そこから引っ張てくる方法がよさそう。
2. 変更のcommit
README.mdファイルで文章を書き足して、保存する。
git status
で現在のレポジトリの状態を確認する。
\git-repo\my-first-repo> git status On branch test-branch Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: README.md no changes added to commit (use "git add" and/or "git commit -a")
gitでは、変更を直接commitせずに、add
によって
「次回のcommit
でリポジトリに反映させる変更リスト」
に加えることで、変更をまとめて反映可能。
\git-repo\my-first-repo> git add README.md \git-repo\my-first-repo> git status On branch test-branch Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: README.md
commitするときは-m
オプションで、その変更の内容を説明するメッセージを入れる。
\git-repo\my-first-repo> git commit -m 'update read me' [test-branch 180b9fd] update read me 1 file changed, 4 insertions(+), 1 deletion(-)
updateのように抽象的なものではなく、’add message’のように詳しくする。
3. 変更履歴の確認
git log
で、変更のログを確認できる。
commit 180b9fda77d0317a528d25e13f87359285666f8b (HEAD -> test-branch) Author: hshinagawa <******@.ac.jp> Date: Sun May 17 15:40:44 2020 +0900 update read me commit 1f5e595f29a07b48a3c93de2f58f371651623331 (origin/master, origin/HEAD, master) Author: hshinagawa <39181459+hshinagawa@users.noreply.github.com> Date: Sat May 16 22:52:59 2020 +0900 Update README.md commit bcaf655081d4a63bfa6038c70835d33b2c03cc77 Author: hshinagawa <39181459+hshinagawa@users.noreply.github.com> Date: Sat May 16 22:45:11 2020 +0900 Initial commit
ここまでが、ローカルな変更。
次にこれをリモート(Github上)に反映させる。
4. push
ローカルの変更をリモートに反映させることをpush
するという。
ローカル上のmasterに変更を反映させるのは、みなmasterブランチを元に変更するのでNG。
pushの前に、pullをする。
pullは、現在のリモート上のmasterブランチの情報を参照して、変更の衝突を防ぐもの。
git pull {repository} {branch}
で、レポジトリ名とブランチを指定する。
レポジトリ名はURLだが、Git内で省略コードが存在するのでそれを使う。
git remote -v
で確かめられるが、基本的にはorigin
となる。
ブランチ名は最新のものを指定する。
pullしたら、
git push origin test-branch
でpushする。
5.変更の統合
HP上で、pull requestを出す。
file changeで内容を必ず確認し、問題がなければmargeする。
作業が自分のみだったら、masterに直接やってもいいかもしれない。
gitのコマンド集では、マージのコマンドも載っていた。
init
既存フォルダをgit レポジトリにする方法。
ディレクトリに移動してgit init
を実行する。
ローカルでのaddとcommitは同じ。
githubに反映させるために、
git remote add origin {リポジトリのUserID}
を行う。
その後、pushを行う。
merge
統合するmasterブランチに移動する。
git merge {ブランチ名}
でmasterブランチに統合するブランチを選択する。
まとめ
Gitの使い方の勉強をしました。 次はDocker。