Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

皮一下

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

Git操作流程

第一部分 命令行

1、分支操作

1. git branch 创建分支2. git checkout -b 创建并切换到新建的分支上3. git checkout 切换分支4. git branch 查看分支列表5. git branch -v 查看所有分支的最后一次操作6. git branch -vv 查看当前分支7. git brabch -b 分支名 origin/分支名 创建远程分支到本地8. git branch –merged 查看别的分支和当前分支合并过的分支9. git branch –no-merged 查看未与当前分支合并的分支10. git branch -d 分支名 删除本地分支11. git branch -D 分支名 强行删除分支12. git branch origin :分支名 删除远处仓库分支13. git merge 分支名 合并分支到当前分支上

2、暂存操作

1. git stash 暂存当前修改2. git stash apply 恢复最近的一次暂存3. git stash pop 恢复暂存并删除暂存记录4. git stash list 查看暂存列表5. git stash drop 暂存名(例:stash@{0}) 移除某次暂存6. git stash clear 清除暂存

3、回退操作

1. git reset –hard HEAD^ 回退到上一个版本2. git reset –hard ahdhs1(commit_id) 回退到某个版本3. git checkout — file撤销修改的文件(如果文件加入到了暂存区,则回退到暂存区的,如果文件加入到了版本库,则还原至加入版本库之后的状态)4. git reset HEAD file 撤回暂存区的文件修改到工作区

4、标签操作

1. git tag 标签名 添加标签(默认对当前版本)2. git tag 标签名 commit_id 对某一提交记录打标签3. git tag -a 标签名 -m \’描述\’ 创建新标签并增加备注4. git tag 列出所有标签列表5. git show 标签名 查看标签信息6. git tag -d 标签名 删除本地标签7. git push origin 标签名 推送标签到远程仓库8. git push origin –tags 推送所有标签到远程仓库9. git push origin :refs/tags/标签名 从远程仓库中删除标签

5、其它操作

常规操作

1. git push origin test 推送本地分支到远程仓库2. git rm -r –cached 文件/文件夹名字 取消文件被版本控制3. git reflog 获取执行过的命令4. git log –graph 查看分支合并图5. git merge –no-ff -m \’合并描述\’ 分支名 不使用Fast forward方式合并,采用这种方式合并可以看到合并记录6. git check-ignore -v 文件名 查看忽略规则7. git add -f 文件名 强制将文件提交8. git reflog 打印所有的日志,假如:ABC三个节点,回退到B后,仍旧打印所有日志

git创建项目仓库

1、git init 初始化2、git remote add origin url 关联远程仓库3、git pull4、git fetch 获取远程仓库中所有的分支到本地

忽略已加入到版本库中的文件

1、git update-index –assume-unchanged file 忽略单个文件2、git rm -r –cached 文件/文件夹名字 (. 忽略全部文件)

取消忽略文件

git update-index –no-assume-unchanged file

拉取、上传免密码

git config –global credential.helper store

第二部分 版本管理

GitFlow 是由 Vincent Driessen 提出的一个 git操作流程标准。包含如下几个关键分支:

1. master:主分支develop:主开发分支,包含确定即将发布的代码;2. feature:新功能分支,一般一个新功能对应一个分支,对于功能的拆分需要比较合理,以避免一些后面不必要的代码冲突;3. release:发布分支,发布时候用的分支,一般测试时候发现的 bug 在这个分支进行修复;4. hotfix:热修复分支,紧急修 bug 的时候用。

GitFlow 的优势有如下几点:

1. 并行开发:GitFlow可以很方便的实现并行开发。每个新功能都会建立一个新的 feature分支,从而和已经完成的功能隔离开来,而且只有在新功能完成开发的情况下,其对应的 feature分支才会合并到主开发分支上(也就是我们经常说的develop分支)。另外,如果你正在开发某个功能,同时又有一个新的功能需要开发,你只需要提交当前 feature 的代码,然后创建另外一个feature 分支并完成新功能开发。然后再切回之前的 feature 分支即可继续完成之前功能的开发。2. 协作开发:GitFlow 还支持多人协同开发,因为每个 feature 分支上改动的代码都只是为了让某个新的 feature 可以独立运行。同时我们也很容易知道每个人都在干啥。3. 发布阶段:当一个新 feature 开发完成的时候,它会被合并到 develop 分支,这个分支主要用来暂时保存那些还没有发布的内容,所以如果需要再开发新的 feature,我们只需要从 develop 分支创建新分支,即可包含所有已经完成的 feature 。4. 支持紧急修复:GitFlow 还包含了 hotfix 分支。这种类型的分支是从某个已经发布的 tag 上创建出来并做一个紧急的修复,而且这个紧急修复只影响这个已经发布的 tag,而不会影响到你正在开发的新 feature。

然后就是 GitFlow 最经典的几张流程图,一定要理解:

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

feature 分支都是从 develop 分支创建,完成后再合并到 develop 分支上,等待发布

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

当需要发布时,我们从 develop 分支创建一个 release 分支

然后这个 release 分支会发布到测试环境进行测试,如果发现问题就在这个分支直接进行修复。在所有问题修复之前,我们会不停的重复发布->测试->修复->重新发布->重新测试这个流程

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

发布结束后,这个release 分支会合并到 develop 和 master 分支,从而保证不会有代码丢失

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

master 分支只跟踪已经发布的代码,合并到 master 上的 commit 只能来自 release 分支和 hotfix 分支。

hotfix 分支的作用是紧急修复一些 Bug。它们都是从 master 分支上的某个 tag 建立,修复结束后再合并到 develop 和 master 分支上。

Git版本管理完全指南(包含常见头疼错误解决方案)(使用git进行版本管理)

第三部分 Git常见错误汇总

常见错误1、windows使用git时出现:warning:LF will be replaced by CRLF

windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行add . 时出现提示,解决办法:

  1. $ rm -rf .git // 删除.git
  2. $ git config –global core.autocrlf false //禁用自动转换

然后重新执行:

  1. $ git init
  2. $ git add .

常见错误2、git push origin master出错:error:failed to push sonme refs to…

很明显是:

本地没有update到最新版本的项目(git上有README.md文件没下载下来)

本地直接push所以会出错。

【解决过程】

看到提示里面,感觉是本地的代码不是最新的。

所以觉得应该是类似于svn中的,先update一下,再去commit,估计就可以了。

所以先去pull试试:

git pull –rebase origin master

解决!

常见错误3、fatal: remote origin already exists.

解决办法如下:

1、先输入$ git remote rm origin

2、再输入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不会报错了!

3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section \’remote.origin\’. 我们需要修改gitconfig文件的内容

4、找到你的github的安装路径,我的是C:UsersASUSAppDataLocalGitHubPortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8etc

5、找到一个名为gitconfig的文件,打开它把里面的[remote \”origin\”]那一行删掉就好了!

最后

每天发布更多新鲜有含量的技术文章、总有一款适合你。

快关注我、把我打包带走、每天提醒你学习一手技术。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年10月16日 上午10:36
下一篇 2022年10月16日 上午10:50

相关推荐

  • 如何把项目中的各种会议打造成高效会议?(如何把项目中的各种会议打造成高效会议)

    会议是职场中常见的沟通方法。凡是方法都有其应用场景,常见的会议应用场景包括各层级组织的例会、评审会、讨论会、奖惩会、复盘等。 其中,例会根据各层级不同会议内容略有差异,但大体以参会…

    科研百科 2022年12月10日
    151
  • 甘德县“四级联户制”三问(甘德县四级联户工作机制平台)

    联户员入户了解群众家庭信息。受访者供图 当地干部与联户员排查纠纷、勘查草山地界。受访者供图 江千乡是甘德县“四级联户制”的发源地。记者 张鹏 摄 组织联户员参加培训。受访者供图 组…

    科研百科 2023年10月16日
    131
  • 科研项目的运作机制

    科研项目的运作机制 科研项目的运作机制是确保科研项目能够高效,有序,可控地进行的关键。以下是科研项目的运作机制的一些组成部分: 1. 项目管理机制:这是整个科研项目的核心,包括项目…

    科研百科 2025年3月3日
    0
  • 覃惜阴农学家

    覃惜阴农学家:探索中国农业历史的杰出人物 覃惜阴(1763年-1829年)是一位中国农学家,也是清朝后期最重要的农学家之一。他生于湖南省洞庭湖地区的一个农民家庭,从小就对农业感兴趣…

    科研百科 2024年10月13日
    4
  • 公安部公布8起涉银行卡犯罪典型案例(公安部公布8起涉银行卡犯罪典型案例)

    公安机关打击防范涉银行卡犯罪取得显著成效 公安部公布8起典型案例 2023年,全国公安经侦部门按照公安部党委统一部署,在银行卡安全合作委员会机制框架下,深入推进打击防范涉银行卡犯罪…

    科研百科 2024年4月24日
    39
  • 科研项目后补助机制

    科研项目后补助机制: 支持科学家和研究人员的工作 近年来,许多国家和地区都在努力推进科学研究的发展,其中一个重要的举措就是建立科研项目后补助机制,以支持科学家们和研究人员的工作。 …

    科研百科 6天前
    0
  • 仪器科研项目

    仪器科研项目 仪器科研项目是科学研究中不可或缺的一部分,通过使用各种仪器和设备,科学家可以更加精确地进行实验和数据分析。在仪器科研项目中,科学家需要使用各种仪器和设备来测量物质的性…

    科研百科 2025年2月6日
    0
  • 河南省科研经费管理办法

    河南省科研经费管理办法 为加强河南省科研经费管理,提高科研经费使用效率,保障科学研究的顺利开展,根据《中华人民共和国财务管理法》等相关法律法规,河南省政府制定了《河南省科研经费管理…

    科研百科 2024年11月9日
    2
  • 项目管理软件离线

    项目管理软件离线 随着数字化时代的到来,项目管理软件已经成为了项目管理中不可或缺的工具。无论是大型项目还是小型项目,项目管理软件都可以帮助企业有效地组织和管理项目,提高项目的效率和…

    科研百科 2024年7月28日
    25
  • 代理系统开发小程序平台深圳高端定制开发(app代理系统开发)

    新零售是如今零售行业发展的大势所趋,未来纯电商的模式可能会被新零售所取代,新零售依托于互联网将线上线下深度融合,重构人、货、场的生态结构,可以进一步满足人们未来的消费需求,也将彻底…

    科研百科 2023年4月7日
    81