Difference between revisions of "Git cheat sheet"

From Simson Garfinkel
Jump to navigationJump to search
m
m
Line 5: Line 5:


==Pull changes==
==Pull changes==
; from a forked repository's upstream:
From a forked repository's upstream.  First we need to add 'upstream' as a name for a remote URL:
   git remote add upstream https://github.com/<<FOOBAR>>
   git remote add upstream https://github.com/<<FOOBAR>>
Now we need to fetch the changes and merge them in:
   git fetch upstream        # fetches any new changes from original repository
   git fetch upstream        # fetches any new changes from original repository
   git merge upstream/master  # merges any changes fetched into your working files
   git merge upstream/master  # merges any changes fetched into your working files
or
  git pull upstream


git pull automatically merges changes. With fetch and merge, the changes are fetched and stored locally, then merged when you request.
This can be done as a single operation:
  git pull upstream/master
 
If there are local changes:
* Resolve the conflicts
* Note which conflicts you have resolved with <tt>git add conflictname</tt>.
* commit your changes
* push them to your origin/master:
  git push
 


==Differencing==
==Differencing==

Revision as of 09:56, 10 April 2013

Make a signed tag and push to github

 git tag -u 'Simson L. Garfinkel <simsong@acm.org>' -s tcpflow-1.2.7 -m 'Release 1.2.7'
 git push --tags


Pull changes

From a forked repository's upstream. First we need to add 'upstream' as a name for a remote URL:

 git remote add upstream https://github.com/<<FOOBAR>>

Now we need to fetch the changes and merge them in:

 git fetch upstream        # fetches any new changes from original repository
 git merge upstream/master  # merges any changes fetched into your working files

This can be done as a single operation:

 git pull upstream/master

If there are local changes:

  • Resolve the conflicts
  • Note which conflicts you have resolved with git add conflictname.
  • commit your changes
  • push them to your origin/master:
 git push 


Differencing

  git diff HEAD  # should never produce output because HEAD is always the checked out commit
  git diff origin/master # Difference between you and the master
  git log origin/master  # Report what the differences are

References