git 知识罗列
git pull is basically a shortcut for two operations:
git fetch
which downloads the history from the remote.git merge
which merges the new history in the current branch.It is step two where the changes from the repository get merged into your local files, because you ask git to.
The question is, why do you need to have those changes. Do you want to inspect them?
If you only want the history, without merging it, you can use plain
git fetch <remote>
.
http://stackoverflow.com/questions/18612093/applying-remote-changes-onto-local-git-pull-overwrites-files-another-way-than
Under
[branch "master"]
, try adding the following to the repo's Git config file (.git/config
):[branch "master"] remote = origin merge = refs/heads/master
This tells Git 2 things:
- When you're on the master branch, the default remote is origin.
- When using
git pull
on the master branch, with no remote and branch specified, use the default remote (origin) and merge in the changes from the master branch.I'm not sure why this setup would've been removed from your configuration, though. You may have to follow the suggestions that other people have posted, too, but this may work (or help at least).
If you don't want to edit the config file by hand, you can use the command-line tool instead:
$ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master
How do you get git to always pull from a specific branch?
Git doesn't work on individual files. I'm not aware of the
remote_cache
setting so I can't comment on that. However, in git, you have toclone
the entire repository, make a change to a file(s), commit it (this is a local operation) and then push the changes back.
git: how to update (checkout) a single file from remote origin master
如何一次性添加文档:How to add all the files at once?
http://thelucid.com/2011/01/27/using-git-add-a/