-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
版本控制:Git 和 SVN #43
Comments
使用 Git 时的常见问题1.
|
SVN 工作流1. tags,branches,trunk 是什么?tags,branches,trunk 在 SVN 代码仓库中并没有什么实际意义,仅仅是大家常用的一种惯例。 2. tags,branches,trunk 分别是用来干什么的?
参考:
|
【SVN】SVN 常见问题1. 代码回滚1.1 修改的代码还没有 commit 过执行 revert 操作就可以了 1.2 修改的代码已经 commit 过了方式一:SmartSVN在 SmartSVN 菜单上选择 log,然后选择指定的 revision,再使执行 rollback 操作,本地就能会回滚到指定的提交记录版本上了,最后还需要通过 commit 同步到服务器上。 方式二:命令行① 更新到最新的代码
② 确定要回滚的版本号 revision, 查看提交记录:
假设需要回滚到 revision 98,如果需要查看提交记录的详细内容,还可以使用命令
为了保险起见,再次确认回滚的结果:
④ 提交回滚的操作:
参考: 2. 合并分支跟 git 上的 merge 操作类似,svn 也有 merge 操作,直接将一个 branch 合并到 trunk 上就行了,或者将 trunk 合并到一个 branch 上,如果出现冲突(conflict),解决冲突就行了。 |
【Git】场景:如何为不同 Git 仓库所对应的不同用户设置不同的 SSH 授权信息背景比如,在你的电脑上,有一个个人的 Github 仓库,另外还有一个公司的 Git 仓库,这两个仓库对应不同的用户信息,所以需要生成不同的 SSH key。 分析当你有两个不同的 Git 仓库而且对应不同的用户信息时,就会出现第二个仓库的 SSH key 覆盖掉第一个仓库的 SSH key。 解决办法
其他问题如果之前有设置全局用户名和邮箱的话,需要先重置一下全局的用户信息,然后再在不同的仓库下分别设置各自的用户名和邮箱。 查看 config 信息查看系统config:
查看当前用户(global)配置:
查看当前仓库配置信息:
延伸
参考: |
【Git】Gerrit 工作流程Gerrit 实际上是一个 Git 服务器,它为在其服务器上托管的 Git 仓库提供一系列权限控制,以及一个用来做Code Review 的 Web 前台页面。当然,其主要功能就是用来做Code Review。 Gerrit 的工作流程:使用过git的同学,都知道,当我们git add --> git commit --> git push 之后,你的代码会被直接提交到repo,也就是代码仓库中,就是图中橘红色箭头指示的那样。 那么gerrit就是上图中的那只鸟,普通成员的代码是被先push到gerrit服务器上,然后由代码审核人员,就是左上角的integrator在web页面进行代码的审核(review),可以单人审核,也可以邀请其他成员一同审核,当代码审核通过(approve)之后,这次代码才会被提交(submit)到代码仓库(repo)中去。 无论有新的代码提交待审核,代码审核通过或被拒绝,代码提交者(Contributor)和所有的相关代码审核人员(Integrator)都会收到邮件提醒。 整个流程就是这样。 注意点在使用过程中,有两点需要特别注意下:
为什么要使用 change-id保证已经提交审核的修订通过审核入库后,被别的分支 cherry-pick 后再推送至服务器时不会产生新的重复的评审任务。Gerrit 设计了一套方法,即要求每个提交包含唯一的 Change-Id,这个 Change-Id 因为出现在日志中,当执行 cherry-pick 时也会保持,Gerrit 一旦发现新的提交包含了已经处理过的 Change-Id ,就不再为该修订创建新的评审任务和 task-id,而直接将提交入库。 解决“ERROR:missing Change-Id in commit message”see Gerrit error when Change-Id in commit messages are missing. 参考 |
【Git】How to change committer email address during git push问题在 push 时出现邮箱不正确的提示,如何修改之前已经提交 commit 的用户信息?
解决办法
参考 |
【Git】合并代码后,出现冲突,如何撤销冲突文件的本地修改?问题
执行 checkout 之后报错:
解决方法
参考 |
【Git】同步远程分支信息远程仓库新增或者删除分支后,直接通过 如果是新增了分支,本地仓库可通过下面的命令同步分支信息: git fetch 如果是删除了分支,本地仓库可通过下面的命令同步分支信息: git fetch --prune 在 git 1.8.5 以后可以通过修改配置来实现自动 prune: git config fetch.prune true 参考 |
软件版本周期软件测试发布流程
那么我们经常听说的 RC 版本是什么意思呢? RC=Release Candidate,含义 是"发布候选版",它不是最终的版本,而是最终版(RTM=Release To Manufacture)之前的最后一个版本。 广义上对测试有三个传统的称呼:alpha、beta、gamma(分贝对应希腊字母α,β,γ),用来标识测试的阶段和范围。alpha 是指内测,即现在说的CB,指开发团队内部测试的版本或者有限用户体验测试版本。beta 是指公测,即针对所有用户公开的测试版本。然后做过一些修改,成为正式发布的候选版本时叫做gamma,现在叫做RC(Release Candidate)。 和 Beta 版最大的差别在于 Beta 阶段会一直加入新的功能,但是到了 RC 版本,几乎就不会加入新的功能了,而主要着重于除错。 Software release life cycle1. Stages of development 1.1 Pre-alpha: before formal testing 1.2 Alpha: the first phase to begin software testing 1.3 Beta: feature complete but likely to contain a number of known or unknown bugs
1.4 Release candidate: a beta version with potential to be a final product, which is ready to release unless significant bugs emerge. 2. Release
参考 |
目录
关联 issue
延伸阅读
The text was updated successfully, but these errors were encountered: