FC2ブログ

リポジトリ共有時のトラブル解決

リポジトリ共有時のトラブル解決

#22 共有時のトラブルを解決する
http://dotinstall.com/lessons/basic_git/6722
を参考に、
共有ゆえに起こるトラブルの解決方法の学習

これは共有であるために起きるトラブルとして
ありえるのが
ユーザBが編集し commit までしたことを知らず
ユーザAが同じ場所を編集し
このためコンフリクトが発生して
エラーがでる
というもの

とりあえず、実践したほうがわかりやすかったので
cd ~/myweb2/

ディレクトリを移動して
vim index.html
で最終行へ
share test
と記述して保存

git add.
git commit -m "share test added"
git push origin master

で変更した内容を共有リポジトリに送ります
ここまでは問題なしです

次に、ユーザA体験をします
cd ~/myweb
で移動して
vim index.html

share start !
と追記して保存します

そして、今回は git add と git commit を同時に行います

git commit -am "shared start"
というように
git commit のオプションに
-am
をつけるだけです

実際に git commit までできているか確認するには
git log
とすれば
commit 2a08e46f36ed7d10a431adc6fdf227548212902c
Author: snowpool
Date: Fri May 31 21:33:01 2013 +0900

shared start
というように、無事に commit されているのが
確認できます

ここまでは問題ないのですが
ここから共有リポジトリに送ろうとすると
エラーで止まります

git push origin master
を実行すると

To /home/snowpool/ourweb.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '/home/snowpool/ourweb.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

となり、エラーがおきて先にすすめません

hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
とあるように、
先に git pull するように促されます

この場合、
git push origin master
を実行します

修正箇所が異なっている分には問題があまりないのですが
修正箇所が同じ場合コンフリクトが発生します

このため、修正することが必要になります

今回、 vim index.html でファイルを開くと
以前、コンフリクトの修正をしたときのように

line 1st
line2
line3
line end
<<<<<<< HEAD
share start!
=======
share test
>>>>>>> c11d37315a0378907809998e842de7b1a59ffbde

となっているので、

line 1st
line2
line3
line end
share start!
というように修正し、保存します

あとは、インデックス化とコミットを両方一気に行うので
git commit -am "conflict fixed"

そして再び
git push origin master
を実行すると、無事に実行できます

このように、共有リポジトリの場合
git push
git pull
を多用することになりそうです

あと、Git サーバー - プロトコルがあって
Local
SSH
Git
HTTP/S
といったプロトコルが使えます
それぞれ利点、欠点がありますので
用途により使い分けすることになると思います

プロトコルに関しては
Git サーバー - プロトコル

に詳細がかかれています
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック