1

新しいプロジェクト (1 つのテスト ファイルのみ) を github の新しいリポジトリにプッシュしようとしていくつかの問題に遭遇した後、プロジェクトとブランチをフォローしているという点で、git で大きな失敗をしたように見えることに気付きました。 Macで新しいディレクトリを作成するたびに。

たとえば、Mac のサイト フォルダーに新しいディレクトリを作成します。

cd sites
me$ mkdir mynewdirectory

サイトディレクトリから「git branch」を実行すると、これが表示されます

* master
  refactor

私の記憶が正しければ、このマスターとリファクタリングのブランチは、私が数週間前に取り組んでいたプロジェクトのもののようです。mynewdirectory に移動して 'git branch' を実行すると、同じ結果が得られます

 git branch
* master
  refactor

次に、「git status」を実行し、非常に長いリストを取得しました

a) Changes not staged for commit; and 
b) Untracked files

これらはすべて、私が開始したい新しいプロジェクトとは明らかに無関係であり、新しいリモートオリジンへのプッシュに問題があった理由の一部であると推測しています.

害を最小限に抑えながら、これらすべてを取り除く方法はありますか?

4

2 に答える 2

1

ホーム ディレクトリ ( ~) またはサブディレクトリを作成しているすべてのディレクトリの親で Git リポジトリを初期化したようです。Git リポジトリのサブディレクトリにいる場合は、のルート ディレクトリを取得できます。を使用したレポ

$ git rev-parse --show-toplevel

おそらく、ホーム ディレクトリ全体とその中のすべてのファイルを Git リポジトリで追跡したくないので、mv ~/.git ~/.git.old一時的にそのディレクトリを移動し (たとえば、リポジトリがホーム ディレクトリにある場合)、さらに作成することをお勧めします。 Git に保存する各プロジェクトの焦点を絞ったリポジトリ。古いリポジトリの名前を変更したら、サブディレクトリに干渉することはなくなりgit init、通常どおりプロジェクトごとのリポジトリを作成できます。

上記で「一時的に」と言ったのは、完全に削除したくないものをそのレポにコミットした場合、おそらくそれを新しいレポまたは別の場所にコピーして、それを失わないようにしたいからですそのための 1 つの方法は、その古い.gitディレクトリを新しいサブディレクトリに移動し、そこから別の場所に保存したいものを引き出すことです。すべてを移動したら、サブディレクトリを削除できます。例えば:

mkdir old_home_repo
mv ~/.git ~/old_home_repo
cd old_home_repo
git checkout -- .   # this will bring the files that were in the repo back into this directory
# copy files out of this dir, into new places you want to keep them permanently
cd ..
rm -rf old_home_repo 
于 2013-03-28T04:23:14.327 に答える
1

サイトフォルダーで git を開始した場合、すべてのサブディレクトリでそのリファクタリングブランチを取得します。

于 2013-03-28T04:23:58.313 に答える