Github 获取已提交的更改

发布于 2024-12-25 22:26:38 字数 240 浏览 1 评论 0原文

如何在 Mac OSX 上从 github 获取这些更改?

https://github.com/ettore/ Three20/commit/63d03a12a6aac60453c94c12d714965aaca810ae

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深海夜未眠 2025-01-01 22:26:38

使用 git 获取处于该确切状态的 ettore/third20 存储库的副本:

# Create a new (empty) repo
git clone https://github.com/ettore/three20.git

# Enter repo
cd three20

# Checkout the commit
git checkout 63d03a12a6aac60453c94c12d714965aaca810ae

Fetch a copy of the ettore/three20 repository in that exact state with git:

# Create a new (empty) repo
git clone https://github.com/ettore/three20.git

# Enter repo
cd three20

# Checkout the commit
git checkout 63d03a12a6aac60453c94c12d714965aaca810ae
南街九尾狐 2025-01-01 22:26:38

您可以通过 此 API 从 github 获取此提交更改:

GET /repos/:user/:repo/git/commits/:sha

您所使用的 API 的示例Give:

curl -i https://api.github.com/repos/ettore/three20/commits/63d03a12a6aac60453c94c12d714965aaca810ae > commit_changes

然后就可以在生成的commit_changes文件中查看总数据了。该文件的格式为 JSON,您将在 "patch" 中发现更改,例如:

"patch": "@@ -38,6 +38,12 @@\n static const NSInteger kLoadMaxRetries = 2;\n \n \n+@interface TTRequestLoader ()\n+- (void)connection:(NSURLConnection *)连接 didReceiveResponse:(NSHTTPURLResponse*)响应;\n+- (void)连接:(NSURLConnection*)连接didReceiveData:(NSData*)data;\n+- (void)connectionDidFinishLoading:(NSURLConnection )connection;\n+@end\n+\n /////////////////////////////////////////////////////////// //////////////////////////////////////////////////\ n /////////////////////////////////////////////////////////// //////////////////////////////////////////////////\ n /////////////////////////////////////////////////////////// //////////////////////////////////////////////////\ n@@ -100,7 +106,8 @@ - (void)deliverDataResponse:(NSURL)URL {\n // 严格来说,要真正一致,需要解释 %xx 十六进制编码的实体。\n // [NSString dataUsingEncoding] 没有正确执行此操作。 …………(省略)

你会发现它很难阅读,但是如果可以的话,你可以使用正则表达式更好地格式化它。显然,添加/删除的行以 +/- 开头和 \n 结尾。

您可以在 vim 中运行此命令(如果您使用):

:%s/\\n/^M/g

此命令将每个 \n 替换为真正的换行符(输入 ^M通过Ctrl+v->Enter)。现在看起来不错,但我认为你可以做得更好。 ;)

注意:如果您的更改包含一些二进制文件(例如 icon.png),您将获得很多无用的数据。

You can get this commit changes from github by THIS API:

GET /repos/:user/:repo/git/commits/:sha

An example of the one you gave:

curl -i https://api.github.com/repos/ettore/three20/commits/63d03a12a6aac60453c94c12d714965aaca810ae > commit_changes

Then you can view the total data in the commit_changes file that generated. The format of this file is JSON, and you'll find the changes in "patch", like:

"patch": "@@ -38,6 +38,12 @@\n static const NSInteger kLoadMaxRetries = 2;\n \n \n+@interface TTRequestLoader ()\n+- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSHTTPURLResponse*)response;\n+- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data;\n+- (void)connectionDidFinishLoading:(NSURLConnection )connection;\n+@end\n+\n ///////////////////////////////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////////////////////////////\n ///////////////////////////////////////////////////////////////////////////////////////////////////\n@@ -100,7 +106,8 @@ - (void)deliverDataResponse:(NSURL)URL {\n // Strictly speaking, to be really conformant need to interpret %xx hex encoded entities.\n // The [NSString dataUsingEncoding] doesn't do that correctly............(omission)

You can find that it's hard to read, but you can format it better with Regular Expression if you can. Apparently, the lines that added/removed with the start of +/- and end of \n.

You can run this command in your vim(if you use):

:%s/\\n/^M/g

this one replace every \n to a real newline(^M is entered by Ctrl+v->Enter). It looks well now, but I think you can do better. ;)

Note: you'll get lots useless datas if your changes include some binary file(like a icon.png).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文