Frage

Also, insgesamt Neuling auf Git. Wurden durch die Führungen zu lesen und ich denke, die Grundlagen haben, bin aber Schwierigkeiten haben diese ein Ziel zu erreichen.

Ich habe einen Repo für mein generisches Markup-Quellcode erstellt. Nur Sachen, die ich für jeden Ausbruch wiederverwenden. Es heißt markupDNA.git

Ich mag verschiedene Verzeichnisse haben in meinen Mac-Site dir ~/Sites/project-N. Wo baue ich auf das Obermaterial und einen Ausbruch von einer Website zu tun. Ich möchte diese als Gabeln zu meinem Haupt-Git-Repo gebunden zu sein, aber Sie können nicht Ihre eigenen Repo-Gabel?

Ich wünsche, ich etwas tun könnte:

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

Aber ich will es nicht Herkunft schieben. Ich will es auf eine Gabel des markupDNA Repo schieben, woher er geklont wurde. Aber es scheint, wie es meine Änderungen nur bis in den Ursprung Master schiebt. Die Idee ist es, die markupDNA sauber zu halten und nur eine Menge Gabeln für meine verschiedenen Projekte, von denen jede ihre eigenen geklonten dir auf meiner Festplatte haben.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Es wird wahrscheinlich viel einfacher zu benutzen Zweige , anstatt mit separaten Gabeln . Sie können nach wie vor getrennte Kassen für jeden Zweig haben; nur Klon Ihre Repo mehrere Male, und die Verwendung git checkout in jeder sie an den entsprechenden Zweig wechseln (oder git checkout -b den Zweig zu erstellen und überprüfen alle auf einmal). Sobald Sie die Zweige erstellt haben, können Sie sie auf GitHub schieben git push origin <branchname> verwendet wird.

Andere Tipps

Sie sind das Richtige zu tun.

cd ~/Sites/
git clone ~/Dev/markupDNA/ project-N
cd project-N
git remote rename origin markupDNA
  • Nav auf den Ordner, in dem Sie Ihre Projekte speichern
  • Klon Ihre Basis markupDNA Repo mit benutzerdefinierten Namen
  • benennen Sie die Fernbedienung so, dass, wenn Sie auf einen ‚Ursprung‘ wollen später, können Sie

true GitHub Gabel eigenen Repository, damit Sie diese Schritte verwenden können:

  1. Erstellen Sie eine Organisation
  2. Fork Organisation
  3. Umbenennen gegabelt Projekt
  4. Zurück zu Ihrem Konto

Überrascht niemand hat dieser Typ des referenzierten Post Blog noch.

Hier ist die relevanten Schritte:

$ 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

Statt die Config die Bearbeitung, verwende ich in der Regel eine Kombination aus git remote remove und git remote add.

Sie auch git remote rename gefolgt von git remote add verwenden können, wenn Sie den Upstream-Ursprung halten wollte herum.

Dieses Tutorial eine einfache und unkomplizierte Antwort gibt:

  1. Erstellen Sie eine neue leere Github forkedreporepository
  2. Clone lokal:

    git clone https://github.com/YOURUSERNAME/forkedrepo.git
    
  3. In der ursprünglichen Github-Repository als Fern des neuen lokalen Repository:

    git remote add upstream https://github.com/YOURUSERNAME/originalrepo.git
    
  4. eine Kopie des ursprünglichen Github-Repository zu Ihrem neuen lokalen Repository nach unten ziehen:

    git pull upstream master
    
  5. Drücken Sie die Dateien von Ihrem lokalen Repository neue Github-Repository:

    git push origin master
    

Dies wird nicht von GitHub als Gabel der Original-Repository erkannt werden, vom Kurs abgekommen, aber das ist so gut wie es geht.

Natürlich können Sie von einem Klon klonen. In git es gibt kein Konzept eines Haupt Repo. Oft wird eine Haupt Repo bezeichnen, aber das ist durch Konvention, nicht aufgrund eines technischen Grund.

So können Sie alles tun können, genau so, wie Sie beschreiben, und noch mehr.

Zum Beispiel macht es Sinn, eine Niederlassung in Ihren Breakout-Site für Ergänzungen oder Änderungen an Ihre generischen Sachen mit Ideen zu halten. Sie können diese bis zu Ihrem generischen Repo ziehen und verteilen von dort wieder.

Sie können auch verwenden, Github Importwerkzeug .

(es gemacht für aus dem SVN importieren, etc., aber man kann es für diesen verwenden)

  • Erstellen Sie neue Repository in Github. Wichtig : nicht "initialize mit einer Readme"
  • Auf dem nächsten Bildschirm klicken Sie auf "Import-Code"
  • Fügen Sie die URL in die Github Repo Sie importieren möchten. ( Screenshot )

Auch dies ist ein neues Repository erstellen und nicht um eine echte Gabel auf Github. Aber alle Ihre Filialen, Geschichte, usw. werden dort sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top