- 
      
 - 
        
Save havvg/2046776 to your computer and use it in GitHub Desktop.  
| [alias] | |
| up = !git merge --ff-only upstream/`git branch --no-color | grep -e '^\\*' | cut -d\" \" -f2` | 
this should not work
~ git branch --list
error: unknown option `list' ~ git --version                                                                                    ~
git version 1.7.9.2
Maybe you got an older version of git, where the --list option is not available. You can omit it then.
What this command line expects:
- You got a remote called 
upstream. - This remote contains a branch with the same name as your current local branch.
 - A fast-forward merge of this remote branch will be applied to the current local branch.
 
Example:
- Fork any github repository.
 - Add your fork as remote 
origin. - Add the forked repository as remote 
upstream. 
This is in fact a very common pattern and may be considered "Best Practice".
 cordoval: Use git branch --set-upstream and 'git pull' like normal people? he was not right
I finally upgraded to the latest and solved this problem
http://www.craftitonline.com/2012/03/updating-git-to-the-latest-on-ubuntu/
It's not about pull from the tracking branch, which would be altered by --set-upstream as you mentioned.
It's about having two different remote repositories to merge from.
Like I said, you have your like "central" (Yes, I know git is not centralized.) remote, where your company pushes to and pulls from (called origin). A clean push and pull will interact with that remote and their respective branches. You would track new branches from there - git co -b feature/new-feature --track origin/feature/new-feature which allows simple git push and git pull.
In addition you have the official remote repository called upstream. No one of your company is allowed to push to it, you only update from it. This is what git up does.
please could you explain? i am watching you :D
thanks