-
Notifications
You must be signed in to change notification settings - Fork 13
Githubの(簡単な)使い方
githubのリポジトリ(フォルダ)をローカルにclone(インストール)してください。
> cd <your working repository>
> [email protected]:oist/optinist.git
そもそもcloneできないpermission errorが出るなどの場合は、githubに公開鍵を設定していない可能性があります。 以下のURLを参考にgithubに公開鍵を追加してください。
ブランチとは、
ブランチ(branch)は、1つのプロジェクトから分岐させることにより、プロジェクト本体に影響を与えずに開発を行える機能のことを言います。ブランチは直訳すると「木の枝、支流、支系」の意味となります。そのため現行のバージョンのプロジェクトから枝分かれさせて他の作業を行うときに使われます。
optinistディレクトリに移動し、作業ブランチを確認してください。
> cd optinist
> git branch
おそらくこのように表示されると思います。
*main
mainブランチは開発のメインとなるブランチであるため、直接は書き込まずに開発メンバーと確認したコードのみを書き込むブランチになります。したがって、mainブランチに影響を与えないように新しいブランチを作成して開発を行います。
ブランチを作成します。(-bオプションは、ブランチを作成したと同時に、そのブランチに移動するというオプションです。)
> git checkout -b <branch name>
例として「doyalab」というブランチを作成します。
> git checkout -b doyalab
作業ブランチを確認します。
> git branch
おそらくこのように表示されると思います。今は「doyalab」ブランチで作業していることになります。
main
*doyalab
gitでは以下のような流れが有ります。
新しいコードの追加 → git add → git commit
追加したコードをcommitをすることで、追加したコードを記憶しておき、gitのソースコードバージョン管理としての役割を果たします。(main_v1.py, main_v2.pyなどファイルをコピーして管理する必要がなくなります。)
commitする前のgit addとはなにか、
「git add」コマンドでコミットしたいファイルを「インデックス」あるいは「ステージングエリア」と呼ばれる領域に追加します。ステージングはその中からコミットに含めたい変更を選別する作業といえます。
要するに、commitしたいファイル(バージョン管理したいファイル)だけを選択する作業です。
commitとはなにか、
ファイルの変更や追加などを保存しておく必要があります。そのためのコマンドがgit commitです。
要するに、commitして初めてgitでバージョンが管理されます。
過去のcommitログは以下のコマンドで確認できます。
> git log --oneline
以下の用に表示されます。
287cf07 (HEAD -> main, origin/main) add
72e0acb add sample dataloader
69b8b7c initial commit
左がgitバージョンのハッシュID。右がそのときのコメント。 例えば、「72e0acb」では、dataloaderを追加したと分かります。 このように、このcommitで何を追加したのかが分かると、後でバグがあってファイルを戻したい場合などに簡単に過去のcommitに戻ることができます。
現在のブランチのファイルで、どれがaddされていないか、どれがcommitされていないかを確認するコマンドがgit statusです。 以下のコマンドを打ちます。
> git status
↓↓ 新しいファイルがない or 全てcommitが完了しているとき、↓↓
nothing to commit, working tree clean
↓↓ まだaddまたは、commitされていないファイルがあるとき ↓↓
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: Untitled.ipynb
doyalabブランチにコードを追加します。
> mkdir sample_code
sample_codeディレクトリの中にコードを追加して下さい。
git statusで追加したコードのステージを確認します。
> git status
以下のように表示されると思います。
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: sample_code/<filename>
追加したコードをgitで追跡させます。 commitしたいファイルをaddします。
> git add <file name>
全てのファイルをaddしたい場合は次のようにできます。
> git add .
addされているかの確認。
> git status
以下のように、さきほどとは違ったメッセージが返ってくる。
コミット予定の変更点:
(use "git reset HEAD <file>..." to unstage)
modified: Untitled.ipynb
この変更をcommitする。 commitコマンドは以下のように追加します。
- commitしたくないファイル(まだ未完成のファイル)がある場合は、ファイルをaddする前に戻してください。「git reset HEAD 」でできます。
> git commit -m"コメント"
例えば今回だと、
> git commit -m"add pipeline sample"
などと書きます。
commitログに新しいcommitが追加されていることを確認します。 うまくいっていれば"add pipeline sample"の行が追加されています。
> git log --oneline
今までのbranchとcommitをgithubにpushすることで、他の開発者からでも見えるようにします。
> git push origin doyalab
originというのはgithubのurlを指しています。originが指している先は次のコマンドで確認できます。
> git remote -v
doyalabのbranchが追加されているかは、githubから確認できます。<>codeの下にあるmainと書かれたボタンでbranch一覧を確認できます。 https://github.com/oist/optinist