设置用户名和邮箱:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建版本库:
$ mkdir learngit
$ cd learngit
显示当前位置:
$ pwd
将目录变成git可以管理的仓库:
$ git init
把文件添加到仓库,实际上就是把文件修改添加到暂存区:
$ git add <file>
把文件提交到仓库,实际上就是把暂存区的所有内容提交到当前分支:
$ git commit -m "说明"
-m 后面输入的是本次提交的说明
查看仓库的当前状态,只能查看哪些文件被修改:
$ git status
查看文件具体修改了哪些内容:
$ git diff <file>
查看从最近到最远的提交日志:
$ git log
--pretty=oneline参数可以精简输出内容
回退到上一个版本:
$ git reset --hard HEAD^
把文件在工作区的修改全部撤销(使用git status不会有任何提示):
$ git checkout -- <file>
把暂存区的修改全部撤销,重新放回工作区:
$ git reset HEAD <file>
删除一个文件:
$ git rm <file>
使用github远程仓库:
创建 SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
关联一个远程库,使用命令:
$ git remote add origin git@server-name:path/repo-name.git
第一次推送master分支的所有内容到远程库:
$ git push -u origin master
以后可以使用简化命令推送最新修改:
$ git push origin master
克隆一个仓库,首先必须知道仓库的地址:
$ git clone <仓库地址>
git支持哪些协议:
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
查看分支:
git branch
创建分支:
git branch <name>
切换分支:
git checkout <name>
创建+切换分支(简写):
git checkout -b <name>
合并某分支到当前分支:
git merge <name>
删除分支:
git branch -d <name>
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
查看分支合并图:
git log --graph
使用码云远程仓库:
修改仓库名:
git remote rename origin oschina
添加一个仓库:
git remote add origin 仓库地址
查看当前仓库对应的远程仓库地址:
git remote -v