Git

git工作流

  • 集中工作流

  • 功能分支工作流

  • gitflow工作流

    • master分支存放所有正式发布的版本,可以作为项目历史版本记录分支,不直接提交代码。仅用于保持一个对应线上运行代码的 code base。

    • develop分支为主开发分支,一般不直接提交代码

    • feature分支为新功能分支,feature分支都是基于develop创建的,开发完成后会合并到develop分支上。同时存在多个

    • release分支基于最新develop分支创建,当新功能足够发布一个新版本(或者接近新版本发布的截止日期),从develop分支创建一个release分支作为新版本的起点,用于测试,所有的测试bug在这个分支改。测试完成后合并到master并打上版本号,同时也合并到develop,更新最新开发分支。(一旦打了release分支之后不要从develop分支上合并新的改动到release分支),同一时间只有1个,生命周期很短,只是为了发布。

    • hotfix分支基于master分支创建,对线上版本的bug进行修复,完成后直接合并到master分支和develop分支,如果当前还有新功能release分支,也同步到release分支上。同一时间只有1个,生命周期较短

      git工作流
  • forking工作流

git基本命令

  • git add 添加文件
  • git commit -m "init project" 提交
  • git push
    推送到远程分支,第一次推送本地开的新分支到远程仓库,要指定分支 git push --set-upstream origin 因为git并不知道要把当前分支和远程的哪个分支对应在一起
  • git pull 拉取远程分支的代码,pull本质上是git fetch & git merge
  • git log 查看提交日志 -n 查看前n条 --pretty=oneline 显示为一行
  • git reset 回退 git reset --hard可以回退提交的
  • gitcheckout -- 拉取暂存区文件并将其替换成工作区文件
  • git diff -- 修改的文件和暂存区文件比较不同,如果没有暂存区,以最近一次提交做对比。
  • git status 显示工作目录和暂存区的状态
  • git checkout -b dev创建分支,然后切换到分支 相当于 git branch dev & git checkout dev
  • git branch 查看分支 -b 查看所有远端分支
  • git merge dev 合并指定分支到当前分支
  • git branch -d dev删除本地分支
  • git push origin :dev删除远程dev分支
  • git cherry-pick 遴选

你可能感兴趣的:(Git)