1275 Stimmen

Herausfinden, welche entfernte Zweigstelle von einer lokalen Zweigstelle verfolgt wird

Siehe auch:
Wie kann ich sehen, welche Git-Zweige welchen Remote- / Upstream-Zweig verfolgen?

Wie kann ich herausfinden, welche entfernte Zweigstelle von einer lokalen Zweigstelle verfolgt wird?

Muss ich die Daten von git config Ausgabe, oder gibt es einen Befehl, der dies für mich erledigen würde?

1voto

Olivier Refalo Punkte 47916

Ich verwende diesen Alias

git config --global alias.track '!sh -c "
if [ \$# -eq 2 ]
 then
   echo \"Setting tracking for branch \" \$1 \" -> \" \$2;
   git branch --set-upstream \$1 \$2;
 else
   git for-each-ref --format=\"local: %(refname:short) <--sync--> remote: %(upstream:short)\" refs/heads && echo --URLs && git remote -v;
fi  
" -'

dann

git track

Beachten Sie, dass das Skript auch zur Einrichtung der Nachverfolgung verwendet werden kann.

Weitere großartige Aliasnamen unter https://github.com/orefalo/bash-profiles

0voto

ravikanth Punkte 153

Wenn Sie Gradle verwenden,

def gitHash = new ByteArrayOutputStream()
    project.exec {
        commandLine 'git', 'rev-parse', '--short', 'HEAD'
        standardOutput = gitHash
    }

def gitBranch = new ByteArrayOutputStream()
    project.exec {
        def gitCmd = "git symbolic-ref --short -q HEAD || git branch -rq --contains "+getGitHash()+" | sed -e '2,\$d'  -e 's/\\(.*\\)\\/\\(.*\\)\$/\\2/' || echo 'master'"
        commandLine "bash", "-c", "${gitCmd}"
        standardOutput = gitBranch
    }

0voto

Fred Yang Punkte 2459
git branch -vv | grep 'hardcode-branch-name'
# "git rev-parse --abbrev-ref head" will get your current branch name
# $(git rev-parse --abbrev-ref head) save it as string
#  find the tracking branch by grep filtering the current branch 
git branch -vv | grep $(git rev-parse --abbrev-ref head)

-5voto

Pat Notz Punkte 196406

Yo uso EasyGit (auch bekannt als "eg") als superleichter Wrapper auf (oder neben) Git. EasyGit hat einen "info"-Unterbefehl, der Ihnen alle möglichen nützlichen Informationen liefert, einschließlich des aktuellen Zweigs der entfernten Verfolgung. Hier ist ein Beispiel (wobei der aktuelle Zweig "foo" heißt):

pknotz@s883422: (foo) ~/workspace/bd
$ eg info
Total commits:      175
Local repository: .git
Named remote repositories: (name -> location)
  origin -> git://sahp7577/home/pknotz/bd.git
Current branch: foo
  Cryptographic checksum (sha1sum): bd248d1de7d759eb48e8b5ff3bfb3bb0eca4c5bf
  Default pull/push repository: origin
  Default pull/push options:
    branch.foo.remote = origin
    branch.foo.merge = refs/heads/aal\_devel\_1
  Number of contributors:        3
  Number of files:       28
  Number of directories:       20
  Biggest file size, in bytes: 32473 (pygooglechart-0.2.0/COPYING)
  Commits:       62

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X