如何使用Gitlab设置代码审查? 我在Gitlab网站上看到它被列为一个function,但我似乎无法find如何设置一个(关于这个问题,任何链接到Gitlab用户手册将不胜感激)。 我的一些search表明,“合并请求”是要走的路,但我发现它们是有限制的。 已发布的合并请求显示一个分支与另一个分支之间的所有提交。 我似乎只能查看为每个单独的提交生成的差异。 例如,假设我有一个我想查看的文件。 这是一个新文件,但我已经提交了超过10个提交分支上的更改。 如果我从集成发出该开发分支的合并请求,我看到10个提交每个显示对文件进行的增量更改…我想审查整个事情。 它是新的! 我在这里叫错了树吗? 有没有一个实际的代码审查工具,我可以在GitLab中使用,或合并请求的方式去,如果他们是我使用它们不正确? 在这里build立一个合适的代码审查的最佳方式是什么?
假设我从master创build了一个新的分支my_experiment ,并向my_experiment提交了多个提交。 如果我在my_experiment上做了一个git log ,我看到了对这个分支的提交,还有在my_experiments分支创build之前提交的提交。 我会发现查看所有提交到my_experiments分支的历史logging是非常有用的,直到它创build该分支 – 实际上是该分支的真实历史。 否则,当我查看日志时,我不清楚提交是否在my_experiments分支上。 有没有办法与Git做到这一点?
我有一个git超级项目,引用几个子模块,我想locking一个工作stream程,其余的我的项目成员工作。 对于这个问题,可以说我的超级项目被称为supery ,子模块被称为subby 。 (然后简化我正在做的事情……我实际上并没有使用分支的版本,但是我认为这是最简单的一个问题。) supery主分支有git项目subby的标签v1.0作为子模块引用。 supery的分支称为one.one ,并将子模块的引用更改为指向subby的标签v1.1 。 我可以在这些分支的每一个工作顺利,但如果我尝试更新one.one分支与master分支的变化,我收到一些冲突,我不知道如何解决它们。 基本上在运行git pull . master git pull . master在subby分支,看起来它创build额外的子模块。 在pull / merge之前,我从one.one分支得到git submodule所需的响应: $ git checkout master $ git submodule qw3rty…321e subby (v1.0) $ git checkout one.one $ git submodule asdfgh…456d subby (v1.1) 但是在拉动之后,当我运行git submodule模块时,它会添加额外的子git submodule : $ git pull . master Auto-merged schema CONFLICT (submodule): […]
我是新来的混帐,我试图将当前的git分支添加到我已经存在的提示,其定义如下: RESET="\[\017\]" NORMAL="\[\033[0m\]" RED="\[\033[31;1m\]" YELLOW="\[\033[33;1m\]" WHITE="\[\033[37;1m\]" SMILEY="${WHITE}:)${NORMAL}" FROWNY="${RED}:(${NORMAL}" SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi" export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} " 我试了一下(通过再次采购我的.bashrc文件),它似乎工作,但后来我去了另一个分支,它没有更新。 我怎样才能确保$(__git_ps1)没有被caching?
当推送到Heroku上托pipe的存储库时,必须执行以下命令: git push heroku master heroku和master在这个命令中表示什么? git如何知道在哪里推动? (gitpath) 此外,我不知道我可以使用heroku rename命名应用程序,所以之前,说我使用应用程序名称trytryheroku,现在我用heroku create real-thing但如果我推,它仍然推trytryheroku …有没有办法推到真实的东西呢?
有没有办法将git diff限制到已更改的文件? 我希望看到两个提交之间的差异,但排除不存在于其中一个或另一个(添加/删除)的path。 下面的Perl单线程说明了我想要的大部分内容: git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' 但是,这会遗留diff –git a/path b/path新的或删除的文件。 另外,如果我不必parsing(如果任何大块包含与/ ^ diff /匹配的任何内容)也会更好。 我尝试的另一种select是: git diff –name-status (args) | perl -lnwe 'print if s/^M\s+//' | xargs git diff (args) — 它的产量比较好,但是还是觉得不舒服。
我只是读过过去在git中修改一个文件,但不幸的是接受的解决scheme“重新sorting”提交,这不是我想要的。 所以这是我的问题: 我偶尔会注意到在处理一个(不相关的)特性的时候,我的代码中存在一个错误。 一个快速的git blame然后显示该错误已被引入一些提交前(我犯了很多,所以通常不是最近提交的错误)。 在这一点上,我通常这样做: git stash # temporarily put my work aside git rebase -i <bad_commit>~1 # rebase one step before the bad commit # mark broken commit for editing vim <affected_sources> # fix the bug git add <affected_sources> # stage fixes git commit -C <bad_commit> # commit fixes using same log message […]
我目前正在使用一个有多个分支的仓库。 当我创build一个标签时,该标签是否指向当时的分支? 换句话说:每当我创build一个标签,我是否需要切换到该分支内的所需分支和标签,以便标签在那个时间点引用该分支?
Sourcetree提供了一种可视化git分支之间差异的方法吗? 我在找: 已更改的文件的名称 这些文件之间的差异
通常情况下,您正在编写某种项目,过了一段时间,项目的某些组件实际上可以作为一个独立的组件(也许是一个库)变得非常有用。 如果你从早期就有了这个想法,那么很可能大部分代码都在自己的文件夹中。 有没有办法将一个git项目的子目录转换成子模块? 理想情况下,会发生这样的情况,即从该父项目中删除该目录中的所有代码,并且将该子模块项目添加到其所有相应的历史logging中,并且使得所有父项目提交指向正确的子模块提交。