2

現在のディレクトリにあるrailsプロジェクトと同じまたは類似のリモートがあります。2つを同期するために、私はします

git init
git remote add origin blah@blah
git pull

問題は、作業コピーにあるファイルの一部が追加された(つまり、リモートにない)ため、追加したときに

git status 

追跡されていないファイルの束が表示されるはずです。代わりに、古いリポジトリのファイルが表示されます。
これらのファイルの競合を解決するように求められなかったのはなぜですか?そして、私の古いファイルはどこにありますか?

4

3 に答える 3

3

「gitpull」に暗黙的に含まれるマージでは、コミットされていないローカルファイルが上書きされている必要があります。

私はこのシーケンスを提案します:

git init
git add .
git commit -m"local"
git remote add origin blah@blah
git fetch origin

この時点で、「gitk--all」を使用してリポジトリを監視します

と合併

git merge remotes/origin/master

これにより、競合がある場合はそれを通知する必要があります。また、ローカルファイルは上書きされません。

于 2010-07-07T04:38:15.560 に答える
0

ローカルリポジトリ(作業ディレクトリを含む)がある場合は、' git init'何もする必要はありません。

git remote add origin blah@blah
git pull

十分なはずです。

を作成した場合git initは、空のリポジトリにあるはずです。ここで、' origin'のマスターコンテンツをインポートします。


ローカルリポジトリはなく、ローカルファイルだけでした。

次に、最初にそれらを追加する必要があります(r-mercado回答を参照)。

git pullマニュアルページから:

警告:コミットされていない変更を使用してgit pull(実際には、基になるgit merge)を実行することはお勧めしません。可能な場合は、競合が発生した場合に元に戻すのが難しい状態になります。

于 2010-07-07T03:50:59.230 に答える
0

上記のコマンドの後で、これを実行しようとするとどうなりますか?

git checkout blah
git pull origin blah

私はまだgitを学んでいるので、前向きではありませんが、推測にすぎません。(上記のコマンドでも、blahに置き換える必要がある場合があります。)blah@blah

于 2010-07-07T03:51:10.180 に答える