2010-11-23 15 views
1

と混同私は私を困惑状況に直面したが、私はその答えは非常に簡単であると思いますレポgitのステータスは、私は4つのコミットを持っていることを述べているキューに入れられた:すなわち、私は押すことは何もない、はgitのプッシュ

]$ git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 4 commits. 
# 

nothing to commit (working directory clean) 

をだから私はgitのプッシュ(git push origin)を行い、その後、それが正常に見えます。しかし、別のディレクトリのrepoをプル(またはフェッチ+マージ)すると、変更は表示されません。

また、私は結果をローカルディレクトリ(git pull origin)にリモートから引くことができます。

+ a4ac30f...10164ca master  -> origin/master (forced update) 
Already up-to-date. 

その後私は再び4は、私が始めたのと同じような状況では、すなわち、先にコミットしています。だから私は2つのコマンドを繰り返すことができます:

常に、その結​​果
git push origin 

​​

結果無限の回数上に引用として常にあると何が起こる
git pull origin 

、最初の後はいつも「Everything up-to-date」、次の後はいつも「ahead of 'origin/master' by 4 commits

両方のローカルリポジトリで、フェッチURLとプッシュURLは同じです。 git remote show originは言う:

HEAD branch: master 
    Remote branches: 
    git-svn tracked 
    master tracked 
    Local branch configured for 'git pull': 
    master merges with remote master 
    Local ref configured for 'git push': 
    master pushes to master (fast-forwardable) 

ベスト、 ティム

+0

あなたは 'push.default'を珍しいものにしましたか? – Cascabel

+0

私はデフォルトのpush.defaultを使用しています(自分では何も定義していません) – tnorgd

+0

'git push origin'は「すべて最新」を表示します。あなたの履歴( 'git log --graph'や' gitk')を調べると、マスター4がorigin/masterの直前に線形的にコミットするのが見えますか? – Cascabel

答えて

0

それはあなたのmasterブランチを原点/マスターを追跡するように設定されていないので、git pushはそれを完全に無視しているように聞こえます。 git push origin masterを試して、どのブランチをプッシュするかを具体的に教えてください。

+1

提出された「git status」の出力はあなたの説明を疑う。 「あなたの支店は、4つのコミットによって「起点/マスター」に先んじている」と言います。このメッセージは、ブランチがorigin/masterを追跡するように設定されていることを意味していませんか? –

+0

これは可能です。しかしOPが私が列挙したコマンドを試すまで、私たちは 'git push origin'が実際に何をしているのか推測することしかできません。何もしていないように見えます。 – cdhowie

1

OK、解決しました。問題は以前のpushが正しく行かず、リモコンが壊れていたことでした。リモートサーバー(WebDAVベース)にログインしてchown -R wwwrun src.gitを実行しました。それですぐ次のプッシュが仕事をしました

関連する問題