熬夜写代码,不比换女子衣服入GitHub获上千Star?

近日一名国外开发者(Balazs Saros,下简称Balazs)在个人博客发表了一篇看似是在“声讨”中国开发者的文章,标题起得有点唬人——"Chinese repos are ruining the Github trending page"(中国开发者创建的repo正在破坏GitHub Trending页面)。

程序员如何以合规手段快速获得 GitHub 上千 Star?

终于,Xcode和GitHub认识到了彼此的重要性。自从Apple在GitHub上发布了一些开源项目后,越来越多的人参与并为这些项目做出了贡献。在最近的WWDC 2017上关于GitHub and the New Source Control Workflows in Xcode 9的演讲向我们展示了Xcode和GitHub的集成深度。现在我们可以在Xcode上做几乎所有关于GitHub的操作--创建repository, pull, push, commit, tag等等。在这篇文章中,我们将看到Xcode和GitHub集成所涉及的一些新流程:

O(∩_∩)O~ 爱“搞事”的我又创了一个Github账号,和当初加入博客园的初衷一样,为了广泛交流和学习而已。很久之前我就发现了有很多人都在使用GitHub,然而当时看不懂英文(绝大部分都是英文),我觉得阅读起英文来老是要找个翻译软件很麻烦,所以就免了。待现在我才认识它,GitHub是一个全球最大的社交编程及代码托管网站!世界上最庞大的开源代码库!so,又有这么一种感觉,和当初加入博客园的热情一样(兴致来了挡都挡不住),我就创建了一个账号,但是博客园之于我也是同样重要(毕竟博客园是我更博花费时间和精力最多的),两者我都会关注。虽然我英语不好,但是我可以在GitHub中一边向大神学习的同时一边学习英语啊,可谓意外收获!两全其美(≧▽≦o)!同时我也发现自己还有无限提升潜力的空间,回想起来,我毅然决然地改变了当初的态度:事事都麻烦,但我们不能怕麻烦!事事都难,但我们不能怕难!对于知识的涉猎还是要广泛,毕竟学无止境。读万卷书,行万里路。

betway必威登录平台 1

新年刚过,GitHub Trending 上一个名为“Dress”的开源项目迅速蹿红,并成功掀起了不少程序员及吃瓜群众的热议。

  • 在Xcode上设置GitHub;
  • Xcode中的GitHub导航栏;
  • 用Xcode去Commit代码;
  • 在Xcode上创建一个远端的GitHub repo;

好了,让我买来看看GitHub的使用指南吧,这都是我一句句翻译过来的(┳_┳)...

▲乍一看还以为中国开发者开源的项目搞了个什么大新闻

betway必威登录平台 2betway必威登录平台 3

下面在Xcode 9的帮助下我们来具体看一看这些方面的集成,在继续学习之前希望您已经安装了Xcode 9 beta 版本并且拥有Apple开发者账号和GitHub账号。

What is GitHub?
GitHub is a code hosting platform for version control and collaboration. It lets you and others work together on projects from anywhere.

文章开头处,作者写了一个旨在避免引起误会的声明,他表示自己不反对GitHub Trending上语言为非英语的repo,因为这毕竟是一件好事,能保证英语水平欠佳的开发者也能在这个热门页面拥有一席之地。他主要是想指出GitHub Trending页面的用户体验设计存在缺陷,并希望GitHub能对此进行修复。

项目地址:

在Xcode上设置GitHub

在Xcode的偏好设置中,Accounts选项下,点击“ ”按钮获得一个拥有Apple ID, GitHub, Xcode Server 和 Enterprise GitHub在内的列表。

Prefer-Account.jpg

现在我们需要选择GitHub选项并使用GitHub账号登录,并依照屏幕上的操作指示一步步完成GitHub账户的设置。你可以使用SSH或HTTPS的方式去clone代码。在Xcode 9中设置GitHub账户是相当容易的。

xcofr-github-setup.gif

在上面的GIF文件中,我们会发现在Xcode中设置GitHub账户以及浏览GitHub上的repo是相当的容易!

GitHub是什么?

Balazs说到,自己在任意时间打开GitHub Trending页面,很大概率会看到许多由中国开发者创建的repo,甚至遇到过前10项目中有9个使用中文的情况,如下:

从这个项目中可以学习从克隆项目,创建分支,提交和同步修改,到合并分支请求的整套流程,一次即可熟悉 Git/GitHub 的使用。

Xcode中的GitHub导航栏

在项目导航栏(project navigator)旁, Xcode 9引入了一个称为“源代码控制导航栏(Source Control Navigator)”的导航栏。这个导航栏展示了当前GitHub repo上关于branches, tags和remotes的所有信息。它同时在主界面(中间的界面)也展示了commits的历史信息。见下图:

github.png

正如你在图像中看到的那样它展示的信息非常详细。我们可以很轻松地浏览。

xcode-github-navigator.gif

GitHub托管是一个代码版本控制和协作的平台。它让你从任何地方和其他项目一起工作。

betway必威登录平台 4

不需要贡献代码,甚至没有编程技能都可以参加。

用Xcode去Commit代码

现在Xcode可以进行pull, commit和push的操作了。为了演示这些操作,我们来修改一个文件,然后右击这一文件去获得Source Control的选项,接着我们就可以在备注完commit信息后直接使用Xcode来commit这一文件。在使用了Source Control -> Push选项后,commit操作可以将代码直接push到远端代码库中。或许我们需要为这次的commit操作提供GitHub的账号密码或SSH key值和GitHub repo中的branch等信息。

xcode-github-commit.gif

you need a GitHub.com account and Internet access. You don’t need to know how to code, use the command line, or install Git (the version control software GitHub is built on).

GitHub Trending原本是一个十分意义的功能,于开发者而言,这是一个发现有趣和优秀开源项目的好地方,对开源项目来说,这也是曝光和获取关注的一个有效渠道。但Balazs表示自己越来越不愿意打开这个页面了,原因在于GitHub Trending基本是长期被中国开发者创建的repo“霸榜”。

只需要贡献一张女装照。

在Xcode上创建一个远端的GitHub repo

如果您正在开发新项目,那么您可以创建整个GitHub项目,并使用Xcode 9 push到远端代码库中。

让我们在Xcode上创建一个Single View application的名为 “Xcode-Github” 的项目。在勾选 “Create Git repository on my Mac” 选项后,Xcode会将项目自动添加到源代码管理上来。我们可以使用 “Create “XCFit” remote on GitHub” 选项来创建一个在GitHub上的远端代码库。

xcode-github-create-repo.gif

您可以看到 "Xcode-Github" 项目已经被创建了出来,且其commit的信息也一并可以看到。

可能Xcode还为GitHub引入了其他一些有用的功能,但我们将仅涵盖那些最重要的部分。

学习更多请参阅GitHub and the New Source Control Workflows in Xcode 9

您需要一个GitHub.com账户和互联网接入。你不需要知道如何敲代码,使用命令行,或安装Git(建立在GitHub的控制版本上)。

Balazs表示虽然可以借助翻译工具对这些repo的readme文件进行翻译以了解项目,但项目的演示页面、截图中出现的文字都不是英文,甚至代码的注释也没有使用英语。此外,这些项目大多是面向部分特定群体而创建,例如为准备求职的开发者而整理的“面经”材料,或者是一些教程类的内容。

如此通俗易懂的方式,该项目平台上已确认了来自 97 位贡献者上传的数百张女装大佬照片。

本文翻译自文章The Marriage of GitHub and Xcode 9 at WWDC,以供小伙伴们参考!

1.Create a Repository

对于这个现象的出现,Balazs给出了自己的分析,原因有三:

betway必威登录平台 5

1.创建一个存储库

中国在软件开发/技术方面的实力正在追赶美国,并开始大力扩充人才库

betway必威登录平台,上传库部分截图

A repository is usually used to organize a single project. Repositories can contain folders and files, images, videos, spreadsheets, and data sets – anything your project needs. We recommend including a README, or a file with information about your project. GitHub makes it easy to add one at the same time you create your new repository. It also offers other common options such as a license file.

投身软件开发行业是让“那里的人”摆脱贫困并拥有更多机会的一个最好的途径(有时甚至是唯一途径)

截止到目前,该项目已经有 5466 个Star,687 个Fork,并依然有新的 pull request得到确认。

存储库通常是用来组织一个项目。存储库可以包含文件夹和文件、图片、视频、电子表格和数据集——任何您的项目需求。我们建议包括自述文件,或文件与您的项目的信息。GitHub很容易添加一个在同一时间你创建新存储库。它还提供了其他常见的选项,例如一个许可证文件。

GitHub正在迅速扩张市场并且在开发者群体中拥有非常大的影响力,所以这些人将GitHub视为一个获取资料和解决方案的地方就不难理解了(中国人可无阻碍访问GitHub也是重要的影响因素)

义愤填膺的网友们

2.Create a Branch

最后,Balazs再次强调自己并非是在抱怨这些repo以及创建这些repo的用户,他认为总体来看这是一件好事,但却破坏了GitHub Trending的使用体验。为此,他提出了自己的想法:

毫无疑问,这堪称“女装大佬”入驻 GitHub 的一次成功案例。

2.创建一个分支

GitHub现在可通过repo包含的代码来判断项目使用的编程语言,然后在GitHub Trending提供依据语言来浏览项目的筛选项。因此,GitHub可考虑根据repo的readme/docs/etc文件使用的自然语言来对这些项目做出区分。同样的,然后据此在GitHub Trending中提供一个与地区相关的筛选项,默认值当然是“worldwide”——避免对排行榜造成影响。

@草莓奶油蛋糕:这说明程序员的形象正在从秃头油腻大叔变为美少女,可喜可贺@一只狗仔:真可怕,女装已经对程序员下手了@瑟瑟发抖小萌芯:一直都有穿女装写代码 bug 少的玄学啊@时雨:程序员必须是秃头吗?程序员必须格子衫大拖鞋吗?程序员必须油腻吗?看看我们的另一面吧。

Branching is the way to work on different versions of a repository at one time.

参考repo的LICENSE文件,GitHub可以考虑给repo创建者提供添加LANGUAGE文件的选择,这样无疑比自动判断自然语言更准确。

然而,这个项目 5000 Star,却依然遭到了不少人的质疑,

分支是不同版本的存储库的工作方式。

将上述两点结合起来是最佳的做法,也就是说在GitHub判断项目使用的自然语言后,repo的创建者还能进行修改。

@GitHub Daily( GitHub 项目,GitHub 是个技术社区,本质上还是应该以技术为主,趣味为辅,如果一个项目放几张图片就能收获上千 Stars,难免让那些踏踏实实做开源却只有寥寥数个 Stars 的开发者感到寒心。另外 Trending 榜单也是目前能给一些新开源项目提供优质曝光机会的好地方,如果长期在榜单上出现一些毫无技术含量却上千 Stars 的项目,那就难免会失去 Trending 应有的价值。

By default your repository has one branch named master which is considered to be the definitive branch. We use branches to experiment and make edits before committing them to master.

还是有不少人给出较为肯定的态度,

默认存储库有一个分支叫master(主人),被认为是确定的分支。我们在用树枝之前进行实验和编辑。

@Apollonian( 是否有存在的意义呢?我觉得是有的。除了现在 README 里提到的练习使用 got/GitHub 之外,这个 repo 或多或少能反映出大家对 LICENSE 的重视程度。有些贡献者和使用者没怎么想清楚(特别是 GPL 这种一般不是用在图片上的许可证),之前人相对少一些的时候说要换 CC 也没换……除此之外,这个 repo 和代码毫无关系吗?好像也不是的。网站是代码写出来的,issue 里也有对 GitHub Pages、webp 文件格式支持、自动去除 EXIF、使用 lazy load 等的讨论。就算真的没有代码,问题有那么大么?不要忘了,GitHub 除了是代码的家以外,还是开发者的家。

When you create a branch off the master branch, you’re making a copy, or snapshot, of master as it was at that point in time. If someone else made changes to the master branch while you were working on your branch, you could pull in those updates.

越来越令人费解的 GitHub Trending

当您创建一个分支主分支,你复制,或快照,主人在那个时间点上。如果别人在主分支上做了一些改变你在你的部门工作的时候,你可以把这些更新。

或许,程序员们也越来越想不通如何登顶 GitHub Trending 榜单的秘诀了。毕竟,作为“全球最大的同性交友社区”,项目 Star 的数量往往意味着开发项目的认可度。

In other words,Branches accomplish similar goals in GitHub repositories.

早在此前,我们曾看到 Trending 上各类让人不可思议的 Star 过千的开源项目。

换句话说,树枝在GitHub库实现类似的目标。

例如,

3.Make and commit changes

一行代码也没有,与编程毫无关系的程序员买房经验「hangzhou_house_knowledge」,获得近 18000 的Star。

3.制作和提交修改

项目地址:

On GitHub, saved changes are called commits. Each commit has an associated commit message, which is a description explaining why a particular change was made. 

一段满屏全是「eeeee」的代码库,竟然获得近 7000 的 Star。

在GitHub中,保存更改被称为提交。每个提交都有一个关联的提交消息,这是一个描述解释为什么一个特定的更改。

项目地址:

4.Open a Pull Request

Google Cloud 发布的一个「nocode」的项目,整个编写过程一行代码也没有,目前该项目的Star数量已超过 26000。

打开一个拉的请求

项目地址:

Pull Requests are the heart of collaboration on GitHub. When you open a pull request, you’re proposing your changes and requesting that someone review and pull in your contribution and merge them into their branch. Pull requests show diffs, or differences, of the content from both branches. The changes, additions, and subtractions are shown in green and red.

以及,去年 9 月被曝光造假的 kui-vue,项目在短短一天内涨了上千个 Star。经深入调查后发现,Star 该项目的部分开发者是僵尸用户。

把请求GitHub的合作的核心。当您打开一个请求,你提议的变化和要求别人审查和拉在你的贡献并将它们合并到他们的分支。把请求差别,或差异,从两个分支的内容。修改、添加和删除工作绿色和红色所示。一旦你做出承诺,你可以打开一个请求并开始讨论,之前完成的代码。

项目地址:

5.Merge your Pull Request

betway必威登录平台 6

5.合并将请求

还有本月以来,名列前茅的带有中国春运特征的 12306 抢票软件。

In this final step, it’s time to bring your changes together – merging yourreadme-edits branch into the master branch.

写在最后

最后一步,是把你做出的改动合并一起-将你的readme-edits分支合并到master(主)分支。

2013 年 8 月,GitHub 上线了一项新功能 Trending,在 Trending Repositories和 Trending Developers两个页面中,可分别展示当天、当周、当月前 25 名有潜力的开源项目和开发者/组织。

为了方便编码,我们可以下载GitHub客户端(Simple collaboration from your desktop)

betway必威登录平台 7

在安装的过程中,我遇到了这种情况:(如图)

GitHub 通过如 Star 数、Fork 数、提交数、Follow 数、项目页面浏览量等进行统计,每天 8 次统计,并根据结果刷新。

betway必威登录平台 8

从此,GitHub Trending 成为开发者结识潜在优秀开发者和开源项目的最直接平台。

我们就按指示来解决问题,首先,根据警示框的提示,我们在“C:UsersAdministratorAppDataLocalTempVSDCCED.tmp”文件中打开install(安装日志文件)查看安装信息。

去年 10 月,GitHub 2018 年度报告曾指出当年最热门的开源项目,其中分别是 VScode、React、TensorFlow、Kubernetes、Azure Docs,以及 Type 类型声明文件仓库 DefinitelyTyped。从本质上讲,这些项目是实打实获得了广大开发者的关注,对开源社区产生了影响,同样也反馈给运营这些开源软件的公司业务上的增长。

betway必威登录平台 9

反观之下,我们也会经常看到在 GitHub 上提交一些名曰“资料整理”的项目,虽然获得了一时的点赞,却并没有留给太多深刻的印象。

我们查看最后的信息输出为:“Error: An error occurred trying to download '

一个好的项目作者为了写项目文档、调试 API、做测试并持续维护,还要上传到 GitHub 写推广文案,这个过程的艰辛恐怕只有耐心做过的人才懂吧。

这说明“

学习AI的正确姿势

 步骤:我们打开控制面板-->网络和Internet-->管理浏览器加载项,如图:

当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

betway必威登录平台 10

但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以拥有有效资源还是很有必要的。

在Internet属性中,我们把信任的站点改一下:

为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,让AI越来越普及。在这里给大家推荐一个人工智能Python学习交流群:705673780欢迎大家进群交流讨论,学习交流,共同进步。

betway必威登录平台 11

点击“站点”,我们在“添加”这一框加入“

betway必威登录平台 12

在GitHub中,我们如何发现优秀的项目呢?

1.关注一些活跃的大牛

GitHub 主页有一个类似微博的时间线功能,所有你关注的人的动作,比如 star、fork 了某个项目都会出现在你的时间线上,这种方式适合我这种比较懒的人,不用主动去找项目,而这种基本是我每天获取信息的一个很重要的方式。

2.Trending

点击下图的 Explore 菜单到“发现”页面。

betway必威登录平台 13

紧接着点击 Trending 按钮:

betway必威登录平台 14

这个 Trending 页面是干嘛的呢?直译过来就是趋势的意思,就是说这个页面你可以看到最近一些热门的开源项目,这个页面可以算是很多人主动获取一些开源项目最好的途径,可以选择「当天热门」、「一周之内热门」和「一月之内热门」来查看,并且还可以分语言类来查看,比如你想查看最近热门的 Android 项目,那么右边就可以选择 Java 语言。

betway必威登录平台 15

3.Search

除了 Trending ,还有一种最主动的获取开源项目的方式,那就是 GitHub 的 Search 功能。search在这里:

betway必威登录平台 16

然后我们直接输入关键字就可以进行搜索了。

可以看到按照star 数,排名靠前基本是一些比较火的项目才会这么火。值得一提的是左侧依然可以选择语言进行过滤。

除此之外,GitHub的Search 还有一些小技巧,比如你想搜索的结果中star数大于1000的,那么可以这样搜索:

android http stars:>1000

有些人如果习惯用Google进行搜索,那么想搜索 GitHub 上的结果,不妨前面加 GitHub 关键字就ok了,举个栗子:我在 google 里输入 GitHub android http ,每个关键字用空格隔开,然后搜索结果如下:

betway必威登录平台 17

相信以上三种方法够大家遨游在 GitHub 的海洋了,最后给大家献上一些福利,这些项目是 GitHub 上影响力很大,同时又对你们很有用的项目:

  • free-programming-books

这个项目目前 star 数排名 GitHub 第三,总 star 数超过6w,这个项目整理了所有跟编程相关的免费书籍,而且全球多国语言版的都有,中文版的在这里:free-programming-books-zh,有了这个项目,理论上你可以获取任何编程相关的学习资料,强烈推荐给你们!

  • oh-my-zsh

俗话说,不会用 shell 的程序员不是真正的程序员,所以建议每个程序员都懂点 shell,有用不说,装逼利器啊!而 oh-my-zsh 毫无疑问就是目前最流行,最酷炫的 shell,不多说了,懂得自然懂,不懂的以后你们会懂的!

  • awesome

GitHub 上有各种 awesome 系列,简单来说就是这个系列搜罗整理了 GitHub 上各领域的资源大汇总,比如有 awesome-android, awesome-ios, awesome-java, awesome-python 等等等,就不截图了,你们自行去感受。

  • github-cheat-sheet

GitHub 的使用有各种技巧,只不过基本的就够我们用了,但是如果你对 GitHub 超级感兴趣,想更多的了解 GitHub 的使用技巧,那么这个项目就刚好是你需要的,每个 GitHub 粉都应该知道这个项目。

  • android-open-project

这个项目是我一个好朋友 Trinea 整理的一个开源项目,基本囊括了所有 GitHub 上的 Android 优秀开源项目,但是缺点就是太多了不适合快速搜索定位,但是身为 Android 开发无论如何你们应该知道这个项目。

  • awesome-android-ui

这个项目跟上面的区别是,这个项目只整理了所有跟 Android UI 相关的优秀开源项目,基本你在实际开发终于到的各种效果上面都几乎能找到类似的项目,简直是开发必备。

  • Android_Data

这个项目是我的邪教群的一位管理员整理的,几乎包括了国内各种学习 Android 的资料,简直太全了,我为这个项目也稍微做了点力,强烈推荐你们收藏起来。

  • AndroidInterview-Q-A

这个就不多说了,之前给大家推荐过的,国内一线互联网公司内部面试题库。

  • LearningNotes

这是一份非常详细的面试资料,涉及 Android、Java、设计模式、算法等等等,你能想到的,你不能想到的基本都包含了,可以说是适应于任何准备面试的 Android 开发者,看完这个之后别说你还不知道怎么面试!

本文由betway必威登录平台发布于互联网农业,转载请注明出处:熬夜写代码,不比换女子衣服入GitHub获上千Star?

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。