2012-03-20 32 views
2

最初に投稿してください。リモートブランチをプルダウンした後にgitがコミットする

私はgitに新しく、それを愛しています。物事は主にこのの例外を除いて順調に進んされている..私は私たちのgithubのにプッシュ新しいブランチで働いている

開発、それを呼び出す「devbranch」を

私は「devbranch」をプルダウンしたかった私Eclipseプロジェクト(現時点ではマスターのみ)ブログ上およびPro Gitの上のいくつかの命令に続いて、私はまさに私は、Eclipseの「プル」(assumably「gitのプル」を実行する)を使用して、ターミナルでは、(私が思う)されhttp://progit.org/book/ch3-5.html

あたりとして git checkout -b devbranch origin/devbranch を実行しました私たちのサーバー上で動作していたようです。 Eclipseでは、私の作業コピーを「devbranch」に設定し、すべてのファイルがそこにあったはずです。 git status または(コミットする必要があるファイルを示します)Eclipseでプロジェクトをコミットしようとして行っているとき

は奇妙なことにかかわらず、修正された状態にあると思われるファイルのトンがあるのですか?誰かがこの事故を説明するのを助けることができますか?私は間違ったことをしているかもしれませんが、どうすれば修正できるでしょうか?私は別のgit pullをやってみましたが、それは単に事前みんなで

おかげで..私の主人とdevbranchがすべて最新であることを述べています。あなたのヒントは非常に高く評価されます。

+0

Eclipse 3.7では、(マーケットプレイスから)egitを使用すると、Eclipse内からこれをすべて実行できます。いずれにせよ、Eclipseの外からすべてをやる。あなたのファイルを操作するgitの2つの異なる設定バージョンを持つことは、おそらく初心者の経験がないでしょう。 –

答えて

0

Eclipseとgitは私の耳に警告音の鐘を作ります。これは暗闇の中でのショットかもしれませんが、私が間違っているのは、Eclipseがディスク上のファイルを上書きしてしまうことです。私が考えているのは、基本的にあなたがdevbranch(ディスク上のファイルの新しいバージョンをチェックアウトする)をチェックアウトしているのですが、IDEがファイルをディスク上で変更したことを認識しないため、IDEにロードされません。 Eclipseで楽しくコンパイルすると、キャッシュされたバッファが保存され、ディスク上のファイルが上書きされます。

ソリューションは、Eclipseの設定に移動し、私はデフォルトではオフになっていると信じオートリロード、オンにすることです。これらのファイルに変更されているものを見つけるために

git diff 

チェック。

設定を変更した後は、変更されたファイルを元に戻すと、Eclipseがこれらの変更を行った前に、原点/ devbranchがでたことをバック状態に取得するには、ルートディレクトリに

git checkout . 

を入力します。しかし、もしあなたがそれを作っていれば、これはあなた自身の変更を元に戻すでしょう。

+0

ありがとう@MagnusSkog私はあなたの 'git diff'推奨の亜種を使用しました。そしてatm私はそれがパーミッションだと思っています。あなたのショットは暗いですが、それは良いものです - 私は、Eclipseを一直線に保つために適切なリフレッシュなどを行ったと確信しています。私は、ブランチを安全に削除し、再度パーミッションを無視して再実行する方法を理解する必要があると思っています。 私はIDEに関することについて助言し、コマンドラインに固執しています;-)(基本的にとにかく基本的なことを学ぶ方がいいです!)thx – jstats

+0

git checkout。 (変更をリセットする)、gitブランチ-D devブランチ(ブランチを削除する)、git checkout - track origin/devbranch(ローカルトラッキングブランチを作成するためにこれを使用) – ralphtheninja

+0

感謝@MagnusSkog - 'git branch -d devbranch'と' git pull'を実行して 'git checkout -b devbranch origin/devbranch'を実行すると、非常にうまくいくように見えました:-)まだいくつかのファイルがあります。私は調査プロセスにもっと慣れています。私がこれを学ぶのを助けてくれてありがとう;-)歓声! – jstats

2

これは、終末行目に起因するファイルのアクセス権、または原因である可能性があり(完全に起因する他の何かにかを、しかしこれら二つは私のために、過去に同様の問題を引き起こしています)。 Gitには、マシンとリポジトリの違いを無視するように指示する設定がありますが、設定する必要があります。

Githubのexplains line endings very wellthis questionは、権限をお届けします。

私のアドバイスはgitを学習している場合は、完全に任意のGUIベースのツールを回避して、最初のコマンドラインのものを学ぶことです。私は私のIDEがちょうど問題を混乱させることが分かった。

+0

私はファイルのパーミッションについて考えていなかったので、その点を検討してみましょう... ちょっと遊んだ後、 'git diff devbranch'を使って、1トンのファイルに古いモード100755、新しいモード100644 だから私はアクセス許可があったと思う! 'git config core.filemode false'を実行しましたが、.gitignoreのようなものなら、問題は既に存在していますので、元に戻す方法がわかりません。ローカルからブランチを削除して、 'git pull'とcheckoutをやり直すことができますか?ありがとう@MattGibson – jstats

+0

はい、それは動作します。簡単に 'git reset -hard HEAD'を実行します(コミットされていない変更がない場合)。 –

+0

@MattGibsonにも感謝しているように聞こえます。私は後でリセット機能で遊ぶ必要があります。私はブランチを削除して、もう一度チェックアウトし直してみました(今はモードを無視してしまったので)。あなたの助けを感謝++ – jstats

関連する問題