だから、Gitの初心者です。ガイドを読んでいて、私には基本があると思いますが、この1つの目標を達成するのに苦労しています。
一般的なマークアップソースコード用に作成されたリポジトリがあります。ブレイクアウトごとに再利用するものだけです。それは呼ばれています markupDNA.git
Macサイトに別のディレクトリを置きたいdir~/Sites/project-N
。私が一般的なものに基づいて構築し、サイトのブレイクアウトを行うところ。これらをフォークとしてメインのgitリポジトリに関連付けたいのですが、自分のリポジトリをフォークすることはできませんか?
私はこのようなことをしたいです:
git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git Push
しかし、私はそれをOriginにプッシュしたくありません。クローンが作成されたmarkupDNA
リポジトリのフォークにプッシュする必要があります。しかし、それは私の変更をOriginマスターにプッシュするだけのようです。アイデアは、markupDNA
をクリーンに保ち、さまざまなプロジェクト用にたくさんのフォークを用意することです。各プロジェクトには、ハードドライブに独自のクローンディレクトリがあります。
何か案は?
別々のフォークを使用するよりも、おそらく ブランチ を使用する方がはるかに簡単です。ブランチごとに個別のチェックアウトを行うこともできます。リポジトリのクローンを複数回作成し、それぞれでgit checkout
を使用して適切なブランチに切り替えます(またはgit checkout -b
を使用してブランチを作成し、一度にチェックアウトします)。ブランチを作成したら、git Push Origin <branchname>
を使用してブランチをGitHubにプッシュできます。
あなたは正しいことをしています。
cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename Origin markupDNA
markupDNA
リポジトリをカスタム名で複製します独自のリポジトリの真のGitHubフォークを作成するには、次の手順を使用できます。
このチュートリアル 簡単でわかりやすい答えが得られます:
forkedrepo
repositoryを作成しますローカルでクローンを作成します。
git clone https://github.com/YOURUSERNAME/forkedrepo.git
元のgithubリポジトリを新しいローカルリポジトリのリモートとして追加します。
git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
元のgithubリポジトリのコピーを新しいローカルリポジトリにプルダウンします。
git pull upstream master
新しいローカルリポジトリから新しいgithubリポジトリにファイルをプッシュします。
git Push Origin master
もちろん、これは元のリポジトリのフォークとしてgithubによって認識されませんが、これは問題ありません。
驚いたことに、誰もこの男の ブログ投稿 をまだ参照していません。
関連する手順は次のとおりです。
$ git clone [email protected]:YOURNAME/foo.git bar
$ cd bar
$ vim .git/config
[remote "Origin"]
fetch = +refs/heads/*:refs/remotes/Origin/*
url = [email protected]:YOURNAME/bar.git #replace foo with bar
$ git remote add upstream [email protected]:YOURNAME/foo.git
$ git Push -u Origin master
設定を編集する代わりに、私は通常git remote remove
とgit remote add
の組み合わせを使用します。
アップストリームのオリジンを維持したい場合は、git remote rename
の後にgit remote add
を使用することもできます。
確かに、クローンからクローンを作成できます。 gitには、メインリポジトリの概念はありません。人々はしばしばメインリポジトリを指定しますが、それは技術的な理由ではなく、慣例によるものです。
したがって、説明したとおりに、さらにはそれ以上のことをすべて行うことができます。
たとえば、一般的なものへの追加や変更のアイデアをブレイクアウトサイトにブランチしておくことは理にかなっています。これらをジェネリックレポに向けて引き上げ、そこから再度配布することができます。
Githubのインポートツール を使用することもできます。
(SVNなどからのインポート用に作られていますが、これにも使えます)
繰り返しますが、これは新しいリポジトリを作成することであり、Githubの真のフォークではありません。しかし、あなたのすべての枝、歴史などはそこにあります。