新しいリポジトリを作るところから,アップロードまで
研究で作る解析のためのプログラムが細々と沢山でてくる。
久しぶりにもう一度使ってみようとすると,どれが最新のバージョンだったか分からなくなったりする。
どこかのディレクトリで,プログラムをアップデートして汎用性を高めたのに,どこに置いたのか忘れることがある。
そこで,サーバ(GitHub)に最新版を常に置いておく。
個人的に,いまのところ一番わかりやすい手順をメモ。
レポジトリの作成
にてwebブラウザでレポジトリ作成。
Descriptionとか,Readmeとか,言語に合わせた.gitignoreとか,ここで作成しておけば簡単。
赤丸のとこクリックでレポジトリ新規作成。
ローカルにレポジトリを持ってくる
作成したレポジトリをローカルにクローンするために,コピー。
図の赤丸をクリック。
うちの大学はセキュリティの問題でhttpsでクローンできなかったので(ちゃんと設定すればできるかも),sshを使った。
sshを使ってクローンする
ローカルマシンのパブリックキーをコピーする。
普通は,~/.ssh/id_rsa.pub
にある。
ない場合は, ssh-keygen -t rsa
で作成できる。(色々聞かれるが,セキュリティとか気にしなければ,基本ずっとEnterでok)
ローカルのマシンのパブリックキーをコピーして,ウェブ上でGitHubのSetting -> SSH and GPG keysに入って,ペーストする。
Titleは適当に。
これで,ローカルマシンのsshパブリックキーが登録されると,
sshによるgit cloneできる。
クローンする
ローカルで
git clone git@github.com:hnishi/pmfnishi.git
する。
REMADME.mdと.gitignoreができているのを確認。
アップロード
作成したプログラムをこのディレクトリにコピーしてくる
アップロードしたいやつをgit add
git statusでステージングされていることを確認。
$ ls
README.md area_1_10.xvg helix_count_1_10.dat
area_1_10.dat do1_pmf2d.py pmfnishi2d.py
$ git add do1_pmf2d.py pmfnishi2d.py
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: do1_pmf2d.py
# new file: pmfnishi2d.py
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# area_1_10.dat
# area_1_10.xvg
# helix_count_1_10.dat
git commitしてから,git pushでアップロード。
git commitの-mオプションで,何かコメント。
$ git commit -m "initial commit"
$ git push
webで,アップロードされていることを確認。
プログラムをもう一度アップデートした場合は,
またgit commitしてgit push
以上。
関連記事
Gitの基本的なコマンド。
http://qiita.com/hnishi/items/8949567d092e15c163bc
プロキシの設定