3

I have created a git repo at github and cloned it at home:

 - eris:utility-functions$ ls
README

 - eris:utility-functions$ git status
# On branch master
nothing to commit, working directory clean

 - eris:utility-functions$ cat .git/config 
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = https://github.com/dotancohen/utility-functions.git
        fetch = +refs/heads/*:refs/remotes/origin/*

 - eris:utility-functions$ git log --pretty=oneline
d444d752ed18b9d5b8422621b841413c30159d3c first commit

At work I have cloned the repo, made a few commits, and pushed back to github:

 - bruno:utility-functions$ ls
example-usage.php  README.md  solr.php  util.php

 - bruno:utility-functions$ git status
# On branch master
nothing to commit (working directory clean)

 - bruno:utility-functions$ cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        fetch = +refs/heads/*:refs/remotes/origin/*
        url = https://github.com/dotancohen/utility-functions.git
[branch "master"]
        remote = origin
        merge = refs/heads/master

 - bruno:utility-functions$ git log --pretty=oneline
cbfe00402226457aed50f658126783151b074759 get_user_ip_address(): Handle multiple addresses for all types
998d57e333d0a0700539f7c6c12b9bad5536b430 get_user_ip_address(): Handle multiple addresses
6ed9d43a05ab8f0a4191da84d8025db59095f8c3 Add function for sending mail with Amazon Simple Email Service
051c8e3f4982028cef677b486b305f3057be1be4 Added get_external_ip_address() which relies on simplesniff.com.
76e574f9260cae0f9fc00ed56b9b6da5f3f37c42 Provide example usage for ensure_fields() function.
39a6471627e1be6b0351257428e634c6f45dd234 ensure_fields(): Properly document ensure_fields(): Return NULL on invalid i
c0b06fb40b86cba67edafc1454df64e4e8e9c9a2 Merge branch 'master' of https://github.com/dotancohen/utility-functions
1aa18cbdef9643f3d964a97ccda41df414e009cf Added ensure_fields() function. Added example usage page.
63840793056ce75ac0e9b7dcbcd9683980a24a2c Added ensure_fields() function. Added example usage page.
5cf5aba1fd808433570c7e4c2693acf03a0de862 Initial solr.php file. Added solr_escape() function.
5e75c0499bc4b1fe1350577726b0566d7c647a8e Initial commit

 - bruno:utility-functions$ git push
WARNING: gnome-keyring:: couldn't connect to: /run/user/dotancohen/keyring-wHsyrf/pkcs11: No such file or directory
Username for 'https://github.com': dotancohen
Password for 'https://dotancohen@github.com': 
Everything up-to-date

Now when I try to pull at home, I git is confused about the branch:

 - eris:utility-functions$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details

    git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

    git branch --set-upstream-to=origin/<branch> master

I am wary of simply doing git branch --set-upstream-to=origin/master master as I'm not sure exactly what will happen to my current commits. As I've never changed the branches on the home (eris) computer, what might cause the error? Is running the command git branch --set-upstream-to=origin/master master safe to do from home? Why didn't I have to do this from the work computer (bruno)?

Thanks!

dotancohen
  • 26,432
  • 30
  • 122
  • 179

1 Answers1

3

git branch --set-upstream-to=origin/master master as I'm not sure exactly what will happen to my current commits.

Nothing will happen to your current commit on master.

A git pull will then fetch and merge origin/master to master.

If you wish, you can just git fetch first, and then examine the diff between the two branches before merging.
See Mark Longair's post "git: fetch and merge, don’t pull"

Why didn't I have to do this from the work computer (bruno)?

Probably because you did a git push -u origin master on the first push from work, which will set a remote tracking branch to (work) master.
See "Why do I need to explicitly push a new branch?" for more details.

Community
  • 1
  • 1
VonC
  • 1,042,979
  • 435
  • 3,649
  • 4,283