2017-01-24 3 views
1

Ich muss mit einem Remote-Repository arbeiten, und ich habe es auf einen lokalen Zweig festgelegt, aber ich muss die URL jedes Mal eingeben, wenn ich den Zweig aus dem Remote-Repo aktualisieren möchte. Gibt es eine Möglichkeit, den Ursprung nur für diesen Zweig zu ändern? Um die Filiale zu aktualisieren, muss ich die URL nicht verwenden.Remote für nur einen Zweig festlegen?

Was ich momentan tun:

git fetch https://github.com/username/repo branch:my-local-branch 

Aber ich würde lieber nur so etwas wie:

git fetch my-local-branch 

Wo die oben von https://github.com/username/repo holen würde.

Antwort

2

origin ist nur ein willkürlicher Name, der zufällig der konventionelle Standard ist. Sie können jedoch so viele entfernte Repositorys hinzufügen, wie Sie möchten. Verwenden Sie einfach git remote add username https://github.com/username/repo, dann können Sie den Upstream Ihrer lokalen Niederlassung mit git branch --set-upstream-to=username/branch my-local-branch konfigurieren.

Fortan Sie git pull oder git pull --rebase von Ihrem my-local-branch oder git fetch username/branch holen den Remote-Zweig aus diesem Repository verwenden können.

+0

Wäre es möglich, ein 'git pull' zu tun ohne die Filiale ausgecheckt zu haben?Aber auch nicht die Verzweigung auf Remote angeben zu müssen (wie wäre das bereits mit dem Upstream eingerichtet)? – user240713

+0

Ein "Pull" zu machen, ohne dass der lokale Zweig ausgecheckt wird, macht nicht viel Sinn, oder? Aber wenn Sie den lokalen Zweig ausgecheckt und dessen Upstream konfiguriert haben, können Sie natürlich 'git pull' machen und es wird den richtigen Zweig von der richtigen Fernbedienung ziehen. 'git pull' zieht immer in den aktuell ausgecheckten Zweig, wie Sie in der Dokumentation nachlesen können. – Vampire

+0

Nun, ich möchte nur die Filiale auf den neuesten Stand gebracht werden. Es sollte keine Konflikte oder irgendetwas zu ändern geben. – user240713

0

Verwenden Sie zwei Zweige als: Master (by-Standard) und lokalen (Ihren Namen verwenden je nach Bedarf)

git branch local 

git checkout local 

Jetzt sind Sie auf lokale branch.Do hier Ihre Änderungen und schließlich sie fusionieren Master als:

git merge local 

oder auch direkt der Fernbedienung erforderlich bewegen

Sie können n-Nummer von Fernbedienungen

so erstellen, können Sie Ihre Fernbedienung und Push/Pull lokale Änderungen es als Add:

git add remote add local_up <your url> 

git push -u local_up master 
2

Wenn Sie das tun git fetch <brname>, git konsultiert die branch.<brname>.fetch Konfigurationsvariable zu sehen welche Fernbedienung zum abholen. Daher müssen Sie:

  1. eine neue Remote hinzufügen, wenn Sie es noch nicht haben:
    git remote add <remname> https://github.com/username/repo.git
  2. Stellen Sie die Konfigurationsvariable entweder durch
    • Bearbeitung .git/config manuell,
    • mit git config oder
    • machen Sie Ihren Zweig track der Remote-Zweig:
      git branch -u <remname>/<brname> <brname>
      (Beachten Sie, dass ein Remote-Zweig-Tracking etwas mehr ist als von ihm durch Standard ziehen, die möglicherweise oder möglicherweise nicht das sein, was Sie wollen.)
Verwandte Themen