30

つまり、Git のまったくの初心者です。ガイドを読んでいて、基本はあると思いますが、この1つの目標を達成するのに苦労しています.

汎用マークアップ ソース コード用に作成されたリポジトリがあります。ブレイクアウトごとに再利用するものだけです。それは呼ばれていますmarkupDNA.git

Mac サイト dir に別のディレクトリを作成したいと考えています~/Sites/project-N。一般的なものに基づいて構築し、サイトのブレイクアウトを行う場所。これらをメインの git リポジトリにフォークとして結び付けたいのですが、独自のリポジトリをフォークすることはできませんか?

私はこのようなことができたらいいのにと思います:

git clone <url> name
git add .
# make changes
git commit -m 'whatever'
git push

しかし、原点にプッシュしたくありません。markupDNA複製されたレポのフォークにプッシュしたい。しかし、私の変更を元のマスターにプッシュするだけのようです。アイデアは、markupDNAきれいに保ち、さまざまなプロジェクト用にたくさんのフォークを用意することです。それぞれのプロジェクトは、ハード ドライブに独自のクローン ディレクトリを持ちます。

何か案は?

4

7 に答える 7

24

あなたは正しいことをしています。

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
  • プロジェクトを保存するフォルダーに移動します
  • markupDNAカスタム名でベースリポジトリを複製します
  • リモートの名前を変更して、後で「オリジン」にしたい場合にできるようにします
于 2010-09-22T19:16:34.313 に答える
20

個別のフォークを使用するよりも、ブランチを使用する方がおそらくはるかに簡単です。ブランチごとに個別のチェックアウトを行うことができます。リポジトリを複数回複製git checkoutし、それぞれで使用して適切なブランチに切り替えます (またはgit checkout -b、ブランチを作成して一度にすべてチェックアウトします)。ブランチを作成したら、 を使用してそれらを GitHub にプッシュできますgit push origin <branchname>

于 2010-09-22T19:08:14.007 に答える
10

驚いたことに、この男のブログ投稿はまだ誰も参照していません。

関連する手順は次のとおりです。

$ git clone git@github.com:YOURNAME/foo.git bar
$ cd bar
$ vim .git/config
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:YOURNAME/bar.git #replace foo with bar
$ git remote add upstream git@github.com:YOURNAME/foo.git
$ git push -u origin master

git remote remove構成を編集する代わりに、通常はとを組み合わせて使用​​しgit remote addます。

アップストリームのオリジンを維持したい場合は、git remote renamefollowed byを使用することもできます。git remote add

于 2014-06-22T04:13:44.307 に答える
9

独自のリポジトリの真の GitHub フォークを作成するには、次の手順を使用できます。

  1. 組織を作成する
  2. 組織へのフォーク
  3. フォークされたプロジェクトの名前を変更する
  4. アカウントに戻る
于 2012-01-26T07:01:01.000 に答える
1

確かに、クローンからクローンできます。git には、メイン リポジトリの概念はありません。多くの場合、メイン リポジトリを指定しますが、これは慣例によるものであり、技術的な理由によるものではありません。

したがって、説明したとおりにすべてを行うことができます。

たとえば、一般的なものへの追加や変更のアイデアを含むブレイクアウト サイトにブランチを保持することは理にかなっています。これらを汎用リポジトリにプルアップし、そこから再度配布できます。

于 2010-09-22T19:20:13.123 に答える