起步
团队开发中提高效率就显得非常重要,现在基本绝大多数的公司采用git来进行版本控制,Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统,接下来主要介绍的就是团队在日常开发中常规git命令项目工作分支.
我们通常在工作中都会用git或者svn来管理我们的代码,那么如何高效的存储,管理我们的远程仓库。
三条长期的分支
- 主分支 master(线上)
- 开发分支 develop(日常开发分支)
- 主分支 test(预发分支)
两条短期的分支
- 功能分支 feature-branch
- 线上补丁分支 hotfix-branch
这两个短期分支,在开发完毕后,就需要被合并进master或者是dev分支里去,原来的分支可以在合并后被删除
分支管理
分支上自动同步master
git pull --rebase origin master
查看当前所在分支
git branch
切换仓库分支
git check out <branch-name>
查看远程和本地的所有分支
git branch -a
查看远程分支
git branch -r
删除本地分支(注意在当前分支的情况下,则无法删除该分支)
git branch -D <BranchName>
删除远程分支
git push origin --delete wangenbo
拉取远程分支
git checkout -b 本地分支名x origin/远程分支名x
或者
git fetch origin 远程分支名x:本地分支名x
本地管理
使用命令初始化仓库
git init
添加文件夹下的所有文件
git add .
把文件提交到本地仓库
git commit -m "添加你的注释,一般是一些更改信息"
关联到远程仓库
git remote add origin 你的远程库地址
获取远程库与本地同步合并,如果远程仓库为空,可调过这步
git pull --rebase origin master
把本地库的内容推送到远程
git push -u origin master
项目不需要git来管理项目的时候,移除本地git设置
rm -rf .git
修改远程仓库地址
git remote set-url origin url
仓库管理
查看仓库
git remote -v
添加一个将被同步给 fork 远程的上游仓库
git remote add upstream <url>
执行同步fork操作
git fetch upstream //默认会将远程所有的分支fetch下来
同步自己的远程分支
git pull origin master
执行合并upstream操作
把 upstream/master 分支合并到本地 master 上
git merge upstream/master
代码回滚
我们经常会误上传文件,需要将代码回滚到原来的历史版本中:
查看由近到远的提交历史记录
(这里的记录是提交到远程分支的记录,不包含本地提交没有推送的历史记录)
git log
回到上一个刚刚提交的版本
git reset --hard HEAD^
回到固定的历史版本
git reset --hard id
将回退的版本强制推送到远程
(注意不能下拉分支否则会自动回到原来的情况)
git push origin HEAD --force