git 常用命令
到新公司学习和使用 git 有一段时间了。不得不说 git 真的很好用。
首先推荐廖雪峰老师的 git 学习网站:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/
下面说说常用的 git 命令:
Linux下安装git: sudo apt-get install git
配置git: git config --global user.name "Tony"
git config --global user.email "tony@gmail.com"
检验(查看)git 配置: git config --list
在某个目录下创建一个仓库: cd 到指定目录→ git init (创建代码仓库,在该目录下生成隐藏 .git 文件夹)
添加某个文件: git add test.xml
添加某个目录: git add src
添加所有当前目录下面所有文件: git add .
提交代码: git commit (然后填写提交信息)
提交代码同时填写提交信息: git commit -m "it is first commit"
以补丁的形式提交代码: git commit --amend (然后修改或者追加提交信息)
查看修改情况: git status (查看可提交的内容)
查看修改的内容: git diff
查看某个文件修改的内容: git diff aaa/bbb/test.xml
撤销未提交的修改: git checkout aaa/bbb/test.xml (单个文件)
撤销所有未提交的修改: git checkout .
撤销已提交的修改: 先 git reset HEAD aaa/bbb/test.xml
再 git checkout aaa/bbb/test.xml
查看提交记录日志: git log
查看所有所有提交记录: git reflog
返回到上一次提交: git reset HEAD
返回到某一次提交的HEAD : git reset --hard <commit id>
返回到某一次提交的HEAD: git reset --soft <commit id>
查看本地分支: git branch
查看所有分支: git branch -a
创建新的分支: git branch <newBranchName> [<start-point>] 不指定 start-point 则基于HEAD创建本地分支 如: git branch branch1.0 (基于HEAD创建一个新的分支,名为 branch1.0)
切换分支: git checkout branch1.0 (切换到分支branch1.0)
创建并切换分支: git checkout -b <newBranchName> [<start-point>]
合并分支: git checkout master
git merge branch1.0 (将分支 branch1.0合并到啊master分支)
删除分支: git checkout master
git branch -D branch1.0 (删除分支branch1.0,必须先切换到其他分支)
跨分支: cherry-pick: git cherry-pick <commit id>
与远程版本库的协作:
假设一远程版本库的 git 地址为 https://github.com/test.git
下载到本地: git clone https://github.com/test.git
本地修改和提交之后,同步到远程版本库: git push origin master
远程版本库同步到本地: git pull origin master
远程版本库同步到本地并解决冲突: git pull origin master --rebase
当然还有更多命令:比如 git rebase... git stash...等等。