2012-05-10 10 views
1

私のローカルマシンでは、リモートリポジトリをクローンし、変更を加え、コミットしてから、タッチしていないリモートのリポジトリにプッシュバックするその間にいかなる方法でも。Gitが元にコミットされない - 変更がgit stashの後にのみ表示される

リモート・マシンでリモート・リポジトリーを見ると、私が行った変更は表示されません。 git statusは、コミットする変更があることを通知します。ファイルを調べると、私が行った変更は表示されません。リモートブランチでgit stashを実行すると、変更が表示されます。だから何とかgitはリモートrepoのプッシュされた変更をコミットしません。

誰かがこの背後にある論理を私に説明し、この状況を回避する方法を教えてください。 git stashを使わなくても何とかリモートのリポジトリに変更をプッシュすることはできますか?

ご清聴ありがとうございます!

答えて

2

チェックアウトアウト作業コピーを持つリモートにプッシュしている場合は、自動的に変更が表示されません。 gitは、変更をリポジトリ.gitディレクトリ)にプッシュしています。関連する作業コピーを更新する場合は、post-updateフックに適切なロジックを実装する必要があります。一般的に

gitもあなたが明示的な設定なしに関連した作業コピーを使用してリモートにプッシュさせません...あなたは、通常のラインに沿ってエラーを参照してくださいになります。これに追加するには

remote: error: refusing to update checked out branch: refs/heads/master 
remote: error: By default, updating the current branch in a non-bare repository 
remote: error: is denied, because it will make the index and work tree inconsistent 
remote: error: with what you pushed, and will require 'git reset --hard' to match 
remote: error: the work tree to HEAD. 
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to 
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into 
remote: error: its current branch; however, this is not recommended unless you 
remote: error: arranged to update its work tree to match what you pushed in some 
remote: error: other way. 
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, set 
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. 
To /home/lars/repo1 
! [remote rejected] master -> master (branch is currently checked out) 
error: failed to push some refs to '/home/lars/projects/administrivia/repo1' 
+1

一般的には、 'git init --bare'で作成されたreposにプッシュし、他の人にはそこからプルする必要があります。または、あなたがそれを好きでない場合は、ただ引っ張って決してプッシュしないでください。非裸のレポを押すことは、すべて奇妙で嘘つきです。 – Dougal

+0

http://sitaramc.github.com/concepts/bare.html これは私の問題に対する非常に良い解決策です。 – Eekhoorn

+0

これは古いバージョンのgitバージョンのものでしょうか?私の仕事場はgitバージョン1.5.6.5、私のMacでは1.7.4.4です。 – Eekhoorn

関連する問題