现在这些Git操作不会用,你就真的out了

390 阅读3分钟

起步

团队开发中提高效率就显得非常重要,现在基本绝大多数的公司采用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