'sqr'atch-note

ちりはつもれど ちりぬるを

今更ながらGithubに登録した

ちょっとしたスクリプトを書く機会があって、それを見せる手段としてgithubは、コードのダメなところとか指摘してもらったり、こういう風に書けばいいとforkしてもらって、こちらにpull request してもらうということが可能?なんか出来るのかなと思って始めた。

手始めにドットファイルをpushした

.vimrc や、.zshrcを置くリポジトリを作った。最近、シェルはzshの方が便利だということを知ったので、乗り換えた。同時に開いているシェル間で履歴の共有ができるらしいので、便利っぽい。

ローカルにフォルダdotfilesを作る。

基本は、GitHub Bootcamp に沿ってやった。

% mkdir -p dotfiles
% mv .vimrc ./dotfiles/.vimrc
% cd dotfiles 
% touch .gitignore
% vim .gitignore
% git init
Initialized empty Git repository in /Users/hoge/dotfiles/.git/
% git add ./
% git commit -m "first commit"
[master (root-commit) b81ea9d] first commit
 2 files changed, 114 insertions(+)
 create mode 100644 .gitignore
 create mode 100755 .vimrc
% git remote add origin https://github.com/username/dotfiles

とここで、エラーが発生した。どうやら、READMEファイルをWEBから編集したから競合が起きたらしい。ググって、解決策をみつけた。一時的にブランチを作ってpullした後、それをmaster にマージすればいいらしい(あとで気づいたけどリポジトリをローカルにpullすればよかったのでは)。

% git branch temp1
% git checkout temp1
Switched to branch 'temp1'
% git pull origin +master:temp1
% git diff temp1 master
% git checkout master
Switched to branch 'master'
% git merge temp1
Merge made by the 'recursive' strategy.
 README.md | 4 ++++
 1 file changed, 4 insertions(+)
 create mode 100644 README.md

% git push origin master  # ここでマスターにpush完了

最後に$HOMEに.vimrcのシンボリックリンクを貼っておく。

% ln -s ./dotfiles/.vimrc .vimrc

以上と同じようなことを.zshrcについても行った。

ファイルを削除する場合。

リポジトリにあるファイルを削除したい場合は、ローカルにpull して単純に削除しただけじゃダメなようだ。

% rm README        # これはだめ
% git rm README    # これで削除する
rm 'README'
% git commit -a -m "delete README"
[master 2d84ae2] delete README
 2 files changed, 4 insertions(+), 3 deletions(-)
 delete mode 100644 README
% git push origin master 

全体の流れメモ

  1. ファイルの変更や削除する
    -- 新しくファイルを作ったら git add filename としておく
  2. git commit -a -m "comment" でコミットする
  3. git push origin master として反映させる

という感じっぽい。