githubで変更をプッシュできなくてハマった時の対処法

Posted 2012年1月27日 | Auther dada | Category PC・デジタル | Tag タグ: ,
Twitterにツイートする Facebookでシェアする はてなブックマーク

github使ってみようかなーと、自作の適当なjQueryプラグインをコミットしてみました。

jquery.syg_carousel
https://github.com/sygnas/jquery.syg_carousel
スクロールアイテムの幅が可変なカルーセルプラグインです。

で、アップデートをコミットしている時にハマってしまったので
その解決法をメモしておきます。

エラーはこんな感じ。
他で更新されたものと競合してるとかそんなですか?

To [email protected]:sygnas/jquery.syg_carousel.git
! [rejected] master-> master(non-fast forward)
error: failed to push some refs to [email protected]:sygnas/jquery.syg_carousel.git'
github 'Note about fast-forwards' section of 'git push --help' for details.

対処の流れはこんな感じ。

→オリジナルのリポジトリを適当な名前に変更する。
→githubのサーバーからリポジトリの複製を作る(ダウンロードする)。
→オリジナルの変更ファイルを、複製にコピーする。
→変更ファイルをコミットしてプッシュ

githubへの登録へはWindowsのmsysgitのGit GUIを使っていますが、
ここではGit Bashを用います。

# gitリポジトリにしたいディレクトリに移動
# ここでは「u:git」
$ c:
$ cd git

# 変更したいリポジトリの複製を作る
$ git clone [email protected]:sygnas/jquery.syg_carousel.git

ここまででgithubサーバーにあるリポジトリの複製がローカルに作成されました。

そしたら、エクスプローラーの操作でオリジナルのほうから変更ファイルを
複製したほうにコピーします。
今度は変更ファイルをgithubにプッシュしましょう。

msmsysgitのGUIで操作してもいいですが、せっかくなのでここでは
コンソールのままいきます。

コンソールを使うのが初めての人のために便利技をひとつ。
[TAB]キーを押すとファイルやフォルダ名を補完してくれます。
例えば「jquery.syg_carousel」だったら「j」を入力したら
[TAB]を押せば残りの文字が補完されます。

# リポジトリに移動
$ cd jquery.syg_carousel

# 変更のあったファイルを追加し、コミット
$ git add README.md
$ git commit -a

コミットメッセージの入力を求められるので適当に入力します。
テキストエディタとしてvi(みたいなもの?)が起動しています。

入力終了のコマンドは「:」→「wq」です。
「:」はコマンドモードへの移行です。カーソルが最下部になったと思います。
「wq」は書き込みして終了を意味します。

あとはリポジトリに登録したパスワードを入力すればgithub側に反映されるはずです。

今回はこのへんを参考にしました。

関連する記事

No Comments »

No comments yet.

Leave a comment

カテゴリー