我们正在为我们的git服务器使用Visual Studio Team Services.每个VSTS项目都有一个或多个git repos.我们有保持master和develop分支锁定的惯例,但让其他分支保持不受限制.
我希望能够在项目级别应用我们的标准规则,并将它们作为其中所有存储库的默认值:
master而develop应该有自己的保安否认Force Pushmaster 分支需要通过代码审查策略提取请求到目前为止,我发现的唯一选择是通过Web界面手动设置这些每个存储库(甚至不是API!).我们拥有至少200多个存储库,并且希望避免必须逐个手动设置每个仓库和分支.
如何按分支名称设置默认代码安全性和代码策略?或者通过手动以外的任何方式?
在截止日期之前的谵妄时刻,我向一个存储库添加了一个大的(> 100 MB)二进制文件,其中包含私有主机上的远程控制器以及github.当然,github抱怨,天真地相信他们的建议,我选择使用LFS.
在两次或三次提交之后:我的存储库达到了github的LFS数据配额,我不得不重命名我的所有遥控器origin,不得不明确地将所有.ssh/config信息添加到git remote set-url所有遥控器中,并且不能再使用任何其他计算机作为遥控器而不是ssh*.
我目前的状态是:我的主要工作本地存储库中的几个提交,其中一些包含LFS文件.直到最后几次提交,他们已被推送到github(直到我达到配额),然后可以手动从github拉到我的其他遥控器,但不是从我的本地推送给他们.由于配额,我无法绕过github将我的文件传输到其他遥控器.
我怎样才能清理LFS的回购以便我可以使用git-annex?理想情况下,在第一次LFS提交之前没有完全重新定位,但我认为这是不可避免的.我的问题是如何从Git-Annex迁移到Git LFS,因为我似乎错过了这个潮流.
我很高兴地确信LFS在某种程度上对我的情况有用.
*我无法在任何地方找到这个最后一期的问题,只在这个答案中提到并且通过各种错误消息暗示(但没有直接说明).当然如果记录在案,我从来没有选择过LFS,因为它让git有效地再次集中化.
当我键入git submodule update --init --recursive以递归克隆子模块时,它开始说cloning...,然后继续做什么......只是挂起.
一个明显的解决方法是从.gitmodule文件中获取路径和repos,导航到他们开出的路径,然后git clone手动导出它们.
另一个明显的修复是Cntr-Z来打破动作,删除.git由--init子句生成的文件,然后再次尝试.它似乎有效.
然而,我似乎有一个破碎的结果.
我的主要问题是:如何获得git submodule update --init --recursive工作财产,而不是挂?
有没有其他人遇到过这个?
我的功能分支超过了大约30个或更多提交.与此同时,在开发分支中,其他开发人员也没有推出其他功能.因此,每次在开发时发布新功能时,我都会被要求:
问题
第二步是这里的鸡脖子.在重新定位时,它为每个分支的提交提供了冲突.这实际上是迭代和冗余的.注意,由于我在分支机构的工作仍在进行中,因此我无法立即重新开发开发分支.
我尝试了什么?
squash减少我提交尽可能(但是这有助于至少,因为大部分时间没有什么壁球)stash我的改变,改变开发,然后取消我的变化.(但在这里,我也会遇到冲突)-preserve-mergesrebase.(但是这里的每个人都大声说使用它是完全气馁的)那么,当功能分支本身有大量提交时,处理功能分支上的变形发展到最少冲突的最佳方法是什么.我是一个更新鲜的人,所以回复一个有用的解释(或链接)将有助于继续.
我有一个开发人员在VSTS中托管的远程Git存储库中完成了提交,需要回滚.从Visual Studio,无需转到命令提示符或如何还原提交?
我想在不使用命令提示符的情况下通过Visual Studio撤消提交.
Visual Studio继续显示我已经拉过的任何分支,即使在删除了该分支后(我没有将它作为选定的分支).
git fetch --all --prune"不会删除它们.git configremote.origin.prune true"(此处建议)不会删除它们.如何从系统中删除已删除的分支?
更新:我想要一种方法来确定哪些分支已经消失并删除它们.如果我们专门选择它们,那么迟早有人会错误地删除正在使用的分支.
一名团队成员使用git为在线视觉工作室提出拉取请求.它被批准并成功合并,但是我们想撤消它并在PR之前恢复到分支的状态.
在当地,我知道有办法做到这一点.它将获得我们的主分支的版本,恢复到分支中的早期版本,并像标准PR一样提交它.但是,VSTFS在线是否没有办法简单地"撤消"?
谢谢
更新
我很抱歉.我没有澄清这是针对TFS 2015的,显然这在2015年没有作为功能提供.
更新:似乎它有大约5分钟更新原始.我将在这里结束我的问题.
我和Github有问题.
我想把文件作为raw格式.
我添加新的提交,我的文件更新.
看起来像这样:
我JUST在变量中添加关键字tech.
当我点击raw.它保留了以前的版本.
看起来像这样:
有任何方法来获取raw文件的版本是提交.
我已根据以下说明在Mac OSX上安装并配置了git-credential-manager:
https://github.com/Microsoft/Git-Credential-Manager-for-Mac-and-Linux/blob/master/Install.md
brew安装抱怨缺少Java需求,并建议安装Java的命令,我做了.
完成所有操作后,我现在在尝试从私有存储库执行git克隆时出现以下错误:
Cloning into 'Weather'...
Fatal: java.lang.IllegalArgumentException encountered. Details:
Unrecognized version string '9+181'.
fatal: credential helper '!/Library/Java/JavaVirtualMachines/jdk-
9.jdk/Contents/Home/bin/java -Ddebug=false -Djava.net.useSystemProxies=true
-jar /usr/local/Cellar/git-credential-manager/2.0.3/libexec/git-credential-
manager-2.0.3.jar' told us to quit
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决?
git ×10
azure-devops ×2
github ×2
azure-repos ×1
clone ×1
git-annex ×1
git-commands ×1
git-lfs ×1
git-rebase ×1
macos ×1
rebase ×1
tags ×1
tfs ×1