git 常用操作:
1、提交本地修改
添加当前所有文件:
git add ./ -A
提交之前撤销所有添加的文件
git rm -r --cached .
提交修改:
git commit -a -m "说明信息"
提交到远程仓库:
git push
从远程仓库更新:
git pull
2、远程仓库的级连访问
添加合并的源:
git remote add upstream up-repo
获取:
git fetch upstream
合并:
git merge upstream/master
查看源:
git remote -v
3、git放弃本地修改
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
4、放弃本地未添加修改
本地有修改和提交,如何强制用远程的库更新更新。我尝试过用git pull -f,总是提示 You have not concluded your merge. (MERGE_HEAD exists)。
我需要放弃本地的修改,用远程的库的内容就可以,应该如何做?傻傻地办法就是用心的目录重新clone一个,正确的做法是什么?
正确的做法应该是:
git fetch --all
git reset --hard origin/master
git fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本
参考链接:
http://stackoverflow.com/questions/1125968/force-git-to-overwrite-local-files-on-pull