Questo esempio potrebbe aiutare qualcuno:
Nota " origin
" è il mio alias per il remoto "Cosa c'è in Github"
Nota " mybranch
" è il mio alias per il mio ramo "che cosa è locale" che sto sincronizzando con github - il
tuo nome di ramo è 'master' se non hai creato uno. Tuttavia, sto usando un nome diverso mybranch
per mostrare dove viene utilizzato il parametro del nome del ramo.
Quali sono esattamente i miei repository remoti su github?
$ git remote -v
origin https://github.com/flipmcf/Playground.git (fetch)
origin https://github.com/flipmcf/Playground.git (push)
Aggiungi l '"altro repository github dello stesso codice" - lo chiamiamo fork:
$ git remote add someOtherRepo https://github.com/otherUser/Playground.git
$git remote -v
origin https://github.com/flipmcf/Playground.git (fetch)
origin https://github.com/flipmcf/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (fetch)
assicurati che il nostro repository locale sia aggiornato:
$ git fetch
Cambia alcune cose localmente. diciamo file ./foo/bar.py
$ git status
# On branch mybranch
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: foo/bar.py
Rivedi le mie modifiche non confermate
$ git diff mybranch
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index b4fb1be..516323b 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.
Impegnare localmente.
$ git commit foo/bar.py -m"I changed stuff"
[myfork 9f31ff7] I changed stuff
1 files changed, 2 insertions(+), 1 deletions(-)
Ora sono diverso dal mio telecomando (su github)
$ git status
# On branch mybranch
# Your branch is ahead of 'origin/mybranch' by 1 commit.
#
nothing to commit (working directory clean)
Diff questo con telecomando - il tuo fork: (questo viene spesso fatto con git diff master origin
)
$ git diff mybranch origin
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index 516323b..b4fb1be 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.
(git push per applicarli al telecomando)
In che modo il mio ramo remoto differisce dal ramo principale remoto?
$ git diff origin/mybranch origin/master
In che modo le mie cose locali differiscono dal ramo principale remoto?
$ git diff origin/master
In che modo le mie cose differiscono dal fork di qualcun altro, ramo principale dello stesso repository?
$git diff mybranch someOtherRepo/master