16

私のラップトップには個人用の小さなgitリポジトリがあります。変更をコミットし、コミットするものがないことを確認しました。ステージングおよび変更されたすべてのファイルがコミットされました。

その後、すべてのファイルをこのリポジトリから別の場所にコピーしてブームになりました。コミットされていない変更があります。

私はいくつかの基本的なgitルールが欠けていると思います。誰かがそれについて私に提案できますか?

4

6 に答える 6

15

私がしたこと、実行

git diff | grep -B 2 @@ | grep +++

実際に変更されたファイルを取得するには、他のすべてのファイルを元に戻します

于 2013-01-24T07:58:39.177 に答える
12

Windows上のファイルには、おそらくキャリッジリターンラインフィードラインの末尾があり、Windowsボックスではcore.autocrlfがtrueになっている可能性があります。異なるプラットフォーム間でそのようにコピーしないでください。代わりに、Linuxボックスに新しいgitリポジトリを作成し、Windowsボックスからプルします。リポジトリを公開するには、git bundleまたはWindowsマシンで使用できます。git daemonまたは、Linuxボックスでベアリポジトリを作成git push --mirrorし、Windowsマシンからリポジトリに作成して、最終バージョンを作成する場所にクローンを作成することもできます。

または、おそらくgit reset --hard HEAD、Linuxボックスでそのまま実行して修正することができます。おそらく、完全にクリーンな作業ツリーを確保するために、最初に.gitフォルダー以外のすべてを削除する必要があります。

于 2012-07-16T14:25:29.887 に答える
3

スタッシュに失うものがない場合は、次のようにします。

git checkout .

これにより、作業ツリーが以前のコミットに戻ります

于 2016-11-23T13:21:29.363 に答える
2

フォルダ間の権限は変更されますか? Git は権限の変更を登録します。

于 2012-07-16T14:11:50.130 に答える
1

私は同じ問題に直面しています。ただし、ホスト Linux システムから Virtual Box ゲスト システムにファイルをコピーしました。一部のリンクが削除され、一部のファイルのアクセス許可が変更されましたが、これは git config core.filemode false を実行することで修正できました。

于 2012-07-25T10:31:58.850 に答える
1

Windows から Linux にコピーすると、ファイル権限に違いが生じます。これらの変更は git によっても追跡されます。

于 2012-07-16T15:32:30.183 に答える