@gump88
2016-07-25T15:20:09.000000Z
字数 1105
阅读 1037
git
git是一款免费、开源的分布式版本控制系统,由大神Linus开发,用来管理Linux内核的开发过程,但是随后就流行开来,越来越多的人开始使用git来管理项目。本文主要记录常用的git命令,些许会涉及到git的原理。
git config --global user.name ""
git config --global user.email ""
增加远程仓库
git remote add <name> <url>
显示所有远程仓库
git remote -v
重设某个远程仓库的地址
git remote set-url <name> <newurl>
删除某个远程仓库
git remote remove <name>
增加所有文件
git add -A
增加某个文件
git add <filename>
添加提交信息
git commit -m <message>
提交所有修改
git commit -m <message> -a
提交单个修改
git commit -m <message> <filename>
git pull和git fetch的区别主要是git pull会自动合并,而git fetch不会自动合并,需要手动merge。
git pull <remote> <master>
git push <remote> <master>
git reset命令常用来将当前版本回退到指定版本
一般先使用git reflog
查看历史版本,然后通过git reset
回退到指定版本
git reset --hard HEAD@{0}
当本地目前没有git repository时,采用git clone
可以将remote的整个仓库都clone下来,用法如下:
git clone <url>
从远程获取最新版本到本地,不会自动merge,相比较git pull
而言需要手动merge,但是更安全一点。
git fetch <remote> <respository>
git rebase
的用途可以参考http://gitbook.liuhui998.com/4_2.html。我的简单理解就是,当主分支和当前分支都在某一个版本上发生了改动,那么git rebase将本地分支的改动作为补丁保存下来,然后将补丁更新到主分支。可以这样看git merge有一个分叉的过程,而git rebase是一个线性的过程。
git rebase <branch>
最后放一张来自http://www.cnblogs.com/1-2-3/的git图,