Kar*_*k S 66 git github githooks github-api
我们是由60多名开发人员组成的团队,他们正在开发相同的产品,并且正在从SVN迁移到Git和GitHub.我们在SVN中有一个进程,在单个文件被锁定的情况下,每当开发人员想要提交代码时,他都需要由文件所有者解锁.我们三个人是150多个文件的拥有者.解锁之前是代码审查.
在Github中,我们计划使用Fork-Clone模型 - 每个项目正在开发的一组dev将执行fork,每个开发人员都会执行fork的克隆,编写代码并提交到origin,the lead of the功能将向上游执行拉取请求.
虽然这看起来很好,但问题是当一个大项目交付时,它会带来大量的更改以供审阅,从而增加了文件所有者的负担.此外,这可能发生在后期的开发周期中,因此项目可能会受到危害.
我们认为可能有用的一种方法是在git push完成原点(fork)时使用钩子.可以有一个最终评论git pull to upstream.
但是,我们找不到任何github扩展或推送挂钩.有没有一个快速的方法(阅读,现有的扩展)与Github这样做或我们应该使用我们将与git使用相同的钩子?
小智 85
没有机会,如果文件不可合并而你需要锁定它,请使用集中式解决方案而不是GIT,即SVN或ClearCase.
Nij*_*n22 23
如果您正在使用git LFS
(某些git托管提供商支持,如GitHub),您可以使用文件锁定.
通过编辑.gitattributes
文件将文件类型标记为可锁定:
*.docx lockable
# Make MS Word files lockable
Run Code Online (Sandbox Code Playgroud)
锁定它:
$ git lfs lock example.docx
Run Code Online (Sandbox Code Playgroud)
您可以git lfs unlock example.docx
通过添加来解锁您和其他人的文件--force
.
小智 5
这个有可能。git-lfs 2.0 引入了锁定文件的功能:请参阅这些链接:https : //github.com/git-lfs/git-lfs/wiki/File-Locking。从 TFS 2017.2 开始支持此功能:https ://docs.microsoft.com/en-us/vsts/release-notes/ 。
小智 -28
这个用例是 Git 比 SVN 好得多的原因之一 --> rebase!如果您遵循良好的 git 工作流程,您可以在提交 Pull 请求之前从上游进行 rebase。您无需担心文件锁定、踩踏他人的提交以及合并冲突等……变基会将您的工作放在一边,应用远程提交,然后在顶部应用您的工作。
我认为这只需要重新思考您的流程,并依靠 git 的优势与在 git 之上强制安装 Subversion 工作流程的比较。您的“分叉克隆”模型可能也需要重新审视。大多数情况下,每个开发人员都有自己的分支,如果需要,您可以通过远程在团队之间共享存储库。但同源的贡献者会养成一些坏习惯。
Gitflow是一个非常流行的 git 工作流程,Github 本身也有一些不错的技巧并分享了他们的工作流程。
归档时间: |
|
查看次数: |
76280 次 |
最近记录: |