基础操作:
git init :初始化仓库
git add <filename> :添加文件到缓冲区
git add . :添加所有改变的文件到缓冲区
git commit -m "<提交的日志>" :提交到仓库
git status :查看仓库当前状态
git diff :查看具体修改的内容
git log :查看提交日志
git log --pretty=oneline :查看提交日志,单行显示
git reset --hard HEAD^ :回退到上一版本
git reset --hard HEAD^^ :回退到上上一版本
git reset --hard HEAD~100 :回退上100个版本
git reset --hard <commitid> :回到某个具体版本
git reset --hard <未来的commitid> :回到未来的版本
git reset HEAD <filename> :取消部分提交
git reset HEAD . :取消全部提交
git reflog :查看git中执行过的命令
git checkout <filename> :放弃文件修改
git checkout :放弃所有文件的所有修改
git branch :列出当前开发所有分支(默认会有master)
git branch king :创建一个king的分支(最新提交点)
git branch king 提交点 :创建一个king的分支(指定提交点)
git branch -d -r <branchname>:删除远程分支,删除后还需推送到服务器git push origin:<branchname> # 删除后推送至服务器
git branch -d king :删除king分支
git checkout king :切换至king分支
git checkout master :切换到master分支
git merge king :合并分支king和主干master,合并后的提交点属于主干master
远程仓库相关操作:
git remote :查看本地添加了哪些远程分支地址
git remote -v :查看本地添加了哪些远程分支地址(详细)
git remote remove origin :删除本地指定的远程地址
git remote add origin <url> :设置远程仓库url
git push -u origin master :推送master分支到远程仓库
git pull origin master :拉取远程仓库master分支并合并
git fetch origin master :拉去远程仓库master分支不合并
git配置相关操作
git config user.name :设置用户信息
git config --replace-all user.name "XXX" :修改用户信息
git config --unset user.name :删除用户名
git config --unset-all :直接删除用户信息
git config --global user.name :设置全局用户信息
git config --global --replace-all user.name "XXX" :修改全局用户信息
git config --global --unset user.name :删除全局用户名
git config --global --unset-all :直接删除全局用户信息(慎用)
其他:
gitignore忽略中如果已经有该文件,忽略列表不起作用,先删除这个文件提交后才能忽略
分支一般命名:
Production分支(主线分支用于发版,不会直接改)
Master分支,这个分支只能从其他分支合并,不能在这个分支直接修改
Develop分支(开发分支)
这个分支是我们是我们的主开发分支,包含所有要发布到下一个Release的代码,这个主要合并与其他分支,比如Feature分支
Feature分支(新功能分支)
这个分支主要是用来开发一个新的功能,一旦开发完成,我们合并回Develop分支进入下一个Release
Release分支(偏向测试)
当你需要一个发布一个新Release的时候,我们基于Develop分支创建一个Release分支,完成Release后,我们合并到Master和Develop分支
Hotfix分支(紧急bug发布)
当我们在Production发现新的Bug时候,我们需要创建一个Hotfix, 完成Hotfix后,我们合并回Master和Develop分支,所以Hotfix的改动会进入下一个Release