我习惯使用Perforce并发现他们的图形工具P4Merge非常方便,尤其是.并排比较.git有类似的(图形)工具吗?Mac解决方案将是理想的选择.
我知道我可以手动设置我git diff的启动P4Merge.但是,我正在寻找更具体的git.
谢谢.
PS:GitHub for Mac非常好,但文件比较不是并排进行的.
我已成功设置Jenkins从我的私有github仓库中取出并构建我的项目,运行测试等.我现在想要做的是当我推动掌握时自动构建.
我已经安装了Github OAuth插件并通过Github进行设置,但是当我登录时,Jenkins陷入了重定向循环.
我在Github中注册了一个新的应用程序并设置了以下值;
Run Code Online (Sandbox Code Playgroud)Name: Jenkins URL: http://myServer:8080 Callback URL: http://myServer:8080
我在任何文档中都找不到"回调URL"的正确值.这是为什么它重定向?
我试图获取特定语言(例如Java)的所有github存储库的列表,而不是通过任何特定关键字缩小搜索范围.最好,我想直接从curl,没有脚本执行此操作.问题是我尝试格式化API URL并且没有设法找到正确的URL,包括language=Java参数但没有关键字.
例如,以下URL似乎在其描述中使用关键字"language"或"java"查询repos,包括一些Scala和Haskell repos:
curl -X GET https://api.github.com/legacy/repos/search/language=java
Run Code Online (Sandbox Code Playgroud)
另一方面,使用?表示法返回空结果:
curl -X GET https://api.github.com/legacy/repos/search?language=java
curl -X GET https://api.github.com/legacy/repos/search/?language=java
Run Code Online (Sandbox Code Playgroud)
小写或小写J似乎也无关紧要.
那么如何在不指定关键字的情况下使用语言参数呢?
评论:似乎有用的技巧是使用单字母关键字,从A到Z重复.是否有一种不那么尴尬的方式?
我正在使用适用于iOS的GitHub REST API,无法在基本身份验证下正常运行。我编写了以下代码来查看用户GitHub存储库:
NSString *requestString = [NSString stringWithFormat:@"https://%@:%@@api.github.com/user/repos",userName,password];
NSURL *url = [NSURL URLWithString:requestString];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:req completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSString *strData = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", strData);
}];
[dataTask resume];
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
{"message":"Requires authentication","documentation_url":"https://developer.github.com/v3"}
Run Code Online (Sandbox Code Playgroud)
但是,当我在终端中执行以下操作时:
curl -i GET https://userName:password@api.github.com/user/repos
Run Code Online (Sandbox Code Playgroud)
我从GitHub获得了预期的结果。我不确定我的iOS应用程序缺少什么身份验证,因为我的curl语句中没有我的iOS代码中没有的任何内容。非常感谢您对我所缺少的任何帮助。
嗨,所以第一次使用像这样的API.无论如何,我一直在阅读GitHub API,并发现了这个:
自述文件支持自定义媒体类型,用于检索原始内容或呈现的HTML.
src:https://developer.github.com/v3/repos/contents/#get-the-readme
我相信这意味着可以检索自述文件内容的HTML格式版本?如果是这样,我将如何使用AJAX检索它,因为教程都是卷曲的.最后我想在我的网站上显示它的一部分,如果以html格式而不是markdown给出,将会更容易.
文档说的是:application/vnd.github.VERSION.html
我不一定知道如何使用它.
谢谢!
是否有用于提交GitHub问题的API?
当我遇到意外问题时,我想为用户提供自动报告问题的选项.
我发现GitHub有Create Tree和Create File API,但我仍然不确定如何创建子模块项,对于Create Tree Api,如何指定Sha,对于Create File Api,似乎我们无法设置项类型.顺便说一句,我是否需要先创建.gitmodules文件?
我正试图在Torii中使用github-oauth2提供程序,但我很难理解我应该如何设置一些回调.我将跟踪我正在使用的代码,以及我对它的理解,并希望这可以帮助确定我出错的地方.
首先,在我的行动中,我正在调用torii的open方法,就像它在文档中所说的那样:
this.get('torii').open('github-oauth2').then((data) => {
this.transitionTo('dashboard')
})
Run Code Online (Sandbox Code Playgroud)
当然,我在我的设置中有以下设置config/environment.js:
var ENV = {
torii: {
// a 'session' property will be injected on routes and controllers
sessionServiceName: 'session',
providers: {
'github-oauth2': {
apiKey: 'my key',
redirectUri: 'http://127.0.0.1:3000/github_auth'
}
}
},
}
Run Code Online (Sandbox Code Playgroud)
redirectUri用于我的Rails服务器.我在我的github应用程序上有相同的redirectUri设置,所以它们匹配.
这是我在服务器上的内容.这可能就是问题所在.我会在最后得到症状.
def github
client_id = 'my id'
client_secret = 'my secret'
code = params[:code]
@result = HTTParty.post("https://github.com/login/oauth/access_token?client_id=#{client_id}&client_secret=#{client_secret}&code=#{code}")
@access_token = @result.parsed_response.split('&')[0].split('=')[1]
render json: {access_token: @access_token}
end
Run Code Online (Sandbox Code Playgroud)
所以我发布到github的access_token端点,就像我应该的那样,我得到一个带有访问令牌的结果.然后我将该访问令牌打包为json.
结果是torii弹出窗口转到rails页面:
不幸的是,我所希望的是torii弹出窗口消失,给我的应用程序access_token,并让代码继续前进并执行我的then块中的代码.
我哪里错了?
我一直在浏览各种网站和JSON.net文档,但我找不到一种优雅的方式来做到这一点.
我必须解析自某个日期以来的GitHub提交列表.
json只是一个大型(或空)阵列.问题是我不需要所有的数据,我只需要每个提交的sha.但是,如果查看数组中的每个类型,则会有多个shas.
有基础:
"sha": "fde139ae1d8fcf82bb145bbc99ed41763202e28f",
Run Code Online (Sandbox Code Playgroud)
树沙:
"tree": {
"sha": "5d33d345f2df166bc4c56cc9307a61a5ee57d346",
"url": "https://api.github.com/repos/QuiZr/ProjectPorcupineLocalization/git/trees/5d33d345f2df166bc4c56cc9307a61a5ee57d346"
},
Run Code Online (Sandbox Code Playgroud)
和父母:
"parents": [
{
"sha": "8b9b43e813645c3a66911247b3dca916af937738",
"url": "https://api.github.com/repos/QuiZr/ProjectPorcupineLocalization/commits/8b9b43e813645c3a66911247b3dca916af937738",
"html_url": "https://github.com/QuiZr/ProjectPorcupineLocalization/commit/8b9b43e813645c3a66911247b3dca916af937738"
}
]
Run Code Online (Sandbox Code Playgroud)
我只想要第一个沙.不是其他的.
我正在尝试使用GraphQL对GitHub进行API调用,我已经能够使用静态graphQL调用成功调用数据,但是我在调用中输入变量(var条目)时遇到问题,这样我就可以更改调用在用户将在Web应用程序中提供的输入上.
我正在使用AJAX来传递授权令牌.此外,除非查询是JSON字符串化,否则调用不起作用(否则将获得400错误).
JSON Stringify似乎将变量'superQuery'的名称变为字符串,而不是将'superQuery'的值转换为字符串.
如何使用可根据用户输入更改的变量发送graphQL查询?
PS相对于web开发的noob,对任何超级明显的错误道歉.
这是我到目前为止:
var entry = $('#entry').val()
var superQuery = `{
repository(name: entry, owner: "******") {
pullRequests(last: 100) {
nodes {
state
headRepository {
owner {
login
}
}
}
}
}
}`
.ajax({
method: "POST",
url: "https://api.github.com/graphql",
contentType: "application/json",
headers: {
Authorization: "bearer **********************************"
},
data: JSON.stringify({
query: superQuery
})
})
Run Code Online (Sandbox Code Playgroud)