我已经对GH做了一些拉取请求,但我已经致力于主分支.现在我在各个地方看到创建分支是个好主意.
是否有任何分支命名准则?我通常使用Mercurial并为我的分支机构提供与其相关错误机票ID相同的名称,但这不适用于此.
我看了几个存储库:有些提交master,有些提交fix-somebug,有些提交patch-1.我知道这不会产生冲突,因为拉请求被合并到master(或不同的长生命分支)然后删除分支,这是正确的吗?
我们正在使用git-flow样式工作流,我们想要找出哪个pull请求包含对给定代码行的更改.
假设我们有以下历史:
c---e---g
/ \
-a---b---d---f---h--- master
Run Code Online (Sandbox Code Playgroud)
我的pull请求h与提交消息"Merge pull request#123"合并.
如果我对拉取请求中添加的代码行做了一个git责备,它会告诉我e,而不是h.
12345678 (Wilfred Hughes 2015-02-02 15:22:40 +0000 402) # Some old code
e (Wilfred Hughes 2015-02-12 15:22:40 +0000 402) # Added in the PR, line 1
e (Wilfred Hughes 2015-02-12 15:22:40 +0000 403) # Added in the PR, line 2
56789012 (Wilfred Hughes 2015-02-26 17:24:18 +0000 404) # More old code
Run Code Online (Sandbox Code Playgroud)
如何在git中找到给定代码行的合并提交?
(注意这与此相关问题不同,因为我从代码行开始,而不是提交).
我想与其他程序员一起在bitbucket上使用git的项目中工作。由于我不是项目的所有者,因此执行了以下步骤:
项目的所有者接受了我的请求,所有更改现在都在他的存储库中。
现在,我想对项目所有者的修改版本提出新的请求。我应该制作一个相同仓库的新叉子吗?
我分叉了该项目(现在我的仓库中有一个副本)
我进行了更改并提交了它们
git添加
git commit -m“ fork-commit”
我推到我的回购
git push -u origin#推送已完成到我的仓库中:me / proj
我提出了拉取请求,并被所有者接受(我/项目的主分支与所有者/项目的主分支相同)
在此之后,所有者对其所有者/项目的主分支进行了一些额外的更改,回购情况如下:
因此,为了避免出现多个分叉,我是否应该对所有者存储库进行git pull?还是我们(我和所有者)共享同一回购协议?
谢谢,
根据这个其他stackoverflow帖子,你应该使用问题API,以便为pull请求添加注释.似乎合乎逻辑,因为我想做一个顶级评论,只想包含一个评论正文.
我使用基本身份验证的以下请求,并尝试了我的密码和一次性令牌.我们使用github企业,因此主机是正确的.评论的Api就在这里.
https://developer.github.com/v3/issues/comments/#create-a-comment
我正在尝试的请求看起来像这样:
POST /repos/mobile/android/issues/1615/comments HTTP/1.1
Authorization: Basic XXXXXXXXXX
Content-Type: application/json
Cookie: logged_in=no
Host: ghe.megaleo.com
Connection: close
User-Agent: Paw/2.2.5 (Macintosh; OS X/10.10.5) GCDHTTPRequest
Content-Length: 33
{"body":"Here is a test comment"}
Run Code Online (Sandbox Code Playgroud)
我作为重定向获得302响应
<html><body>You are being <a href="https://ghe.megaleo.com/login?return_to=https%3A%2F%2Fghe.megaleo.com%2Frepos%2Fmobile%2Fandroid%2Fissues%2F1615%2Fcomments">redirected</a>.</body></html>
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以做身份验证还是我做错了什么?等效的curl命令可能看起来像这样
curl -H "Content-type: application/json" -X POST -u username:password -d '{"body": "Here is a test comment on a pull request"}' https://ghe.megaleo.com/repos/mobile/android/issues/1615/comments
问题: Bitbucket显示整个文件已更改,即使我没有看到任何差异.并且这些文件中没有合并冲突.
细节: 我创建了一个sprint分支(名为"sprintbranch"),开发人员从sprint分支创建了一个功能分支(名为"featurebranchX").当功能实现时,我开始将功能分支合并到sprint分支.现在有两种情况我面临一个问题:
两次bitbucket都表明整个文件已经改变.并且没有合并冲突.
发生这种情况时,我无法进行代码审查,因为我不知道开发人员修改了哪些特定行.此外,我在这一点上失去了历史 - 回头看,我无法弄清楚实施或合并到sprint分支的内容.
我的猜测是问题在于行结尾.与CRLF有关.但是当我提交我的工作时,我确实看到自动使用了适当的行结尾(通过git或像SmartGit这样的工具)
我如何解决这个问题,以免它继续发生?
更新:
我刚刚发现我可以w=1在pull请求的url末尾添加一个查询字符串来忽略cr lf差异.
但是这些文件仍然存在于提交中,当我将其合并回来时,它会包含这些差异吗?
GitHub的一个有用功能是用户可以通过提交消息关闭他们的"拉取请求"(PR).例如,如果Closes #1写入提交消息并且该提交随后落在master分支上,GitHub将自动关闭PR.
GitLab具有类似的设置,但拉取请求被称为"合并请求"(MR).虽然我在GitHub中找到了对自动PR关闭功能的支持,但似乎GitLab完全没有这个有用的功能.关闭合并请求(我发现)的唯一方法是手动点击GitLab本身的"接受"或"关闭"按钮.
是的,我知道你可以解决问题,如下所述:http://docs.gitlab.com/ee/customization/issue_closing.html
但正如那页所说:
当提交或合并请求解决一个或多个问题时,当提交或合并请求落在项目的默认分支中时,可能会自动关闭这些问题.
因此,如果MR或提交登陆,则只会关闭问题master,但如果提交登陆,则不会关闭MR master.
我搜索了GitLab-CE回购的问题并空手而归.这只是一个记录不完整的功能,还是GitLab CE根本不支持这个?
我有一个Travis-CI脚本,用于检查拉取请求的提交消息.GitHub为它提供了一系列提交,它用于git log --format=online "<lastref>..<firstref>"构建要检查的SHA列表.
这在大多数情况下都很有用,但偶尔会发生这种情况:
我的拉取请求(将分支2.2合并到2.x,多次提交)在Travis上生成此命令:
git log --format=oneline b5d12909dacd80d21c4e4f4ca6d5683d6e547f9e..b349be9418371c1f694dabeccbce0e946fde3a0a
Run Code Online (Sandbox Code Playgroud)
在本地,这可以按预期工作.我得到了PR的提交.但是,在Travis上,b5d129提交没有出现,因此它会将每次提交转储回项目的开头.
这里发生了什么?
更新:我做了另一个合并PR,这次是Travis的默认git clone深度为50,但也不包括2.x上的新提交.无论如何,这个新PR的构建工作正常.我还是难过.克隆深度不应该有任何影响,因为如果没有必要的提交,结账会失败.
对于github,我们有一个出色的请求请求功能,在此处进行了说明:https://help.github.com/articles/creating-a-pull-request-template-for-your-repository/
这里有一个很好的例子
https://github.com/angular/angular/blob/master/.github/PULL_REQUEST_TEMPLATE.md
我们有Atlassian Bitbucket的东西吗?如果是,他们何时开始支持此功能?
我在git中有多个帐户,我在三周前使用此帐户提交了代码。我将无法提取我的代码。我收到请求的URL返回错误:403我会尝试按Git返回错误代码403致命:HTTP请求失败, 但我无法解决我的错误
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
remote: Forbidden
fatal: unable to access
'https://chantidurgam@bitbucket.org/chantidurgam/patanjali.git/': The requested
URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
完成但有错误,请参见上文。