我只需要一个冲突文件的简单列表.
有什么比这简单:
git ls-files -u | cut -f 2 | sort -u
Run Code Online (Sandbox Code Playgroud)
要么
git ls-files -u | awk '{print $4}' | sort | uniq
Run Code Online (Sandbox Code Playgroud)
?
我想我可以为此设置一个方便的别名,但是想知道专业人士是如何做到的.我用它来编写shell循环,例如自动解决冲突等.也许通过插入mergetool.cmd替换该循环?
是否有一种单命令方式来获取远程仓库的最新镜像?那是
我知道我可以编写脚本(例如if [ -d repo ]; then (cd repo && git pull); else git clone $repourl;fi
),但我需要最简单的跨平台方式(实际上用于Jenkins-CI,我知道默认情况下这样做,但是我需要2个repos,其支持是有限的).
Git有其他类似的快捷方式(例如checkout -b和pull自己),所以我想知道我是否错过了什么.谢谢!
我的项目中出现了一些复杂的颠覆合并:长期分离的大分支.Svn给出了太多的冲突 - 其中一些似乎是虚假的.
鉴于git对于优秀的合并体验而言,为了使合并更易于管理,使用git-svn 它是否有益?
你能推荐其他的替代品(如svk,hgsvn),以减轻疼痛合并?
有些冲突很容易解决(例如java导入,空格) - 所以我也想知道是否有任何自动解决方案.
将来可能会完全切换到DVCS(我们中的一些人会喜欢),但现在不行.(更新:这不再是真的 - 团队最近完全切换并对此感到高兴).
提前致谢.
PS:有些帖子似乎是相关的(例如git-svn合并2个svn分支),但他们没有完全回答这个问题.
更新:看完我的-novice-回答后再往下走(这个道路).
Git有git-flow支持的GUI前端吗?
我们的团队在Windows和Linux上使用Eclipse IDE.管理着用git-svn 逐渐感染它们,现在正在寻找下一步来利用真正分支的力量(而不是git-svn-rebase/dcommit).Git-flow似乎或多或少都是我们现在所需要的.然而,我们中的一些人仍然依赖于GUI,它使一切变得更容易销售和提升.
所以,理想情况下,我正在寻找一种从Eclipse访问它的简单方法.EGit似乎还不支持它 - 我正在考虑将它们作为外部工具添加.欢迎提出想法 - 在Eclipse中或在Eclipse之外.
如果上面的答案是否定的,这可能是GUI上瘾者的问题吗?
我知道git-flow工具实际上非常薄,通过手动执行带有或不带gui的'raw'命令很容易实际跳过它(例如,我发现在gitk中操作分支很方便).
一方面,我更愿意尽量减少手工工作,减少错误空间(再次考虑团队的经验).OTOH,我的猜测是我们可以开始只使用develos/release/hotfix分支(稍后引入功能分支),在这个设置中人们只需要正常拉/推.他们不会看到很多git-flow - 它只会作为设置发布和东西的人(大多数是我:)的帮手.这有意义吗?
注意:实际上git-svn/trunk仍然存在 - 对于更偶尔的非git用户.我计划将其与'develop'保持同步(显然忽略了合并历史的压缩合并).希望这将是流畅的名言吗?
在Bash(或其他shell)中,如何打印具有多行值的环境变量?
text='line1
line2'
Run Code Online (Sandbox Code Playgroud)
我知道一个简单的通常echo $text不会开箱即用.一些$ IFS调整会有帮助吗?
我目前的解决方法是这样的ruby -e 'print ENV["text"]'.这可以用纯壳完成吗?我想知道env命令是否会采用未解析的var名称,但似乎没有.
假设我将变量的名称存储在另一个变量中:
myvar=123
varname=myvar
Run Code Online (Sandbox Code Playgroud)
现在,我想通过使用$ varname变量得到123.有直接的方法吗?我发现没有这样的bash内置用于按名称查找,所以想出了这个:
function var { v="\$$1"; eval "echo "$v; }
Run Code Online (Sandbox Code Playgroud)
所以
var $varname # gives 123
Run Code Online (Sandbox Code Playgroud)
这最终看起来并不太糟糕,但我想知道我是否错过了一些更明显的东西.提前致谢!
有没有办法在Eclipse工作区中按名称搜索文件夹/项目?
结果最好在我可以进行批量操作的视图中返回(如关闭,打开,分配工作集).只需手动点击数百个项目列表即可.
这个看似微不足道的任务给我带来了悲痛,在我所有的蚀刻年代之后,我感到很尴尬.
我试过了:
我错过了什么?也许第三方插件可以提供理智的搜索功能?(Eclipse/GroovyMonkey)脚本会帮忙吗?Mylyn的?从这样一个成熟的环境中,这要求得太多了吗?
我在Eclipse论坛上好心地问过这个问题,他们很友好地回答" 不 ":)像往常一样,我对SO人更有信心,并且会对这些想法感激不尽.
而目前的赢家是斯科特出色的动态工作集插件,它完全实现了上面的选项4!
有没有办法在一个Ruby程序中多次启动OptionParser,每个程序都有不同的选项?
例如:
$ myscript.rb --subsys1opt a --subsys2opt b
Run Code Online (Sandbox Code Playgroud)
在这里,myscript.rb将使用subsys1和subsys2,将它们的选项处理逻辑委托给它们,可能是首先处理'a'的序列,然后是单独的OptionParser对象中的'b'; 每次选择仅与该上下文相关的选项.最后阶段可以检查在每个部件处理完他们之后没有任何未知数.
用例是:
在松散耦合的前端程序中,各种组件具有不同的参数,我不希望'main'知道所有内容,只是为每个部分委派参数/选项集.
将一些更大的系统(如RSpec)嵌入到我的应用程序中,我只需通过命令行通过他们的选项,而不知道那些包装器.
我会用一些分隔符选项OK,以及像--或--vmargs在某些Java应用程序.
在Unix世界中有许多类似的东西的实际例子(startx/X,git plumbing和瓷器),其中一层处理一些选项但将其余部分传播到下层.
开箱即用,这似乎不起作用.每次OptionParse.parse!通话都会进行详尽的处理,对任何不知道的事情都会失败.我想我很乐意跳过未知选项.
任何提示,也许是替代方法都是受欢迎的.
简单的用例:使用简单的脚本组装Eclipse产品,只需将bundle转储到插件目录中.这曾经与3.3一起工作 - 3.5它被破坏了:我的应用程序没有启动,因为找不到应用程序插件.
问题:解决这个问题的最简单方法是什么?这似乎是整个升级过程中唯一的痛苦.
尝试:我猜这对于P2来说是禁止的:它维护了bundles.info文件,这可能非常聪明......对我来说有点太聪明了.
我有一些想法:
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@3:start, org.eclipse.core.runtime@start我并不关心我产品中的所有智能功能 - 实际上用户根本不使用内置更新机制.所以我想KISS(即:刚启动),并在需要时添加更多高级支持.
我在Eclipse论坛上问了这个问题,但还没有答案,所以真的很感激一些启示.另外,请随意纠正我的假设 - 我刚刚阅读了P2文档,这些文档有时令人困惑.谢谢!
答:实际上上面的选项3似乎总是起作用 - 感谢Francis确认这一点!(它最初不起作用,但这可能是由一些缺失的deps引起的).我现在唯一的问题是,一些Eclipse包实际上需要simpleconfigurator.所以我想知道将它交换出来会导致问题.
我想通过简单的基于文本的界面访问Redmine任务库 - 想知道最短路径是什么(最小投资/开发).
现在,这归结为2个用例/阶段:
从简单的,基于wiki的,发布的TODO列表中导入一批任务到Redmine,即.纯文本内容.这更像是一次性任务,因此快速而肮脏的解决方案就没问题了.
稍后,一些平滑的双向同步将是很好的.例如,通过编辑器中的一些友好的纯文本(或XML)编辑任务的负载,或脚本,我可以通过简单的文本处理来操作所有这些任务; 然后与Redmine同步并将其提交回来.
有关实现这些最简单方法的任何想法?
我更喜欢外部解决方案(即不接触服务器),特别是对于一次性导入案例; 类似于整洁的IDE /编辑器/客户端,或独立的Ruby脚本(例如使用RM API).如果有适当的RM插件可用,我不会拒绝尝试(可以从我们可爱的IT支持获得root权限:) ..当前的想法:
实际上,我也对Bugzilla的类似解决方案感兴趣.