回答问题前,先说个题外话。
2018年6月4日,在Github成立的第十个年头,微软以75亿美元的价格收购了Github,无论是微软首席执行官Nadella充满信心的推文,还是GitHub联合创始人Chris Wanstrath对未来无限可能的憧憬,都表明了这是一次两厢情愿、强强联手的合作。
这是程序员界的一件大事:有人对此次收购表示看好,也有人觉得Github会像其他那些被微软收购的公司一样,逐渐凉凉。
#moving to gitlab 迅速变成了开发者们的推特口号,GitLab迅速发了篇教大家怎么把自己的项目从GitHub转移到GitLab的博文,还给新人打了个2.5折……看热闹的从来都不会嫌事大。
好了,说完最新消息,我们进入正式回答部分。
一、Github是什么?在这个平台你能做什么?
高赞回答里的那张图生动详细地说明了Github界面的几个功能分区,此部分我们就略过不讲了。说说Github是什么。
它是全球最火的开源社区,以Git版本管理软件为基础,为程序员提供了一个免费的开源Git仓库,同时它又巧妙地结合了社交元素,具备社交功能,所以从成立至今,一直拥有良好的社区环境和互动氛围。
所以,十年的时间,Github已经拥有了超过2700万名程序开发者。想知道为什么,可以参看:为什么程序员们愿意在GitHub上开源自己的成果给别人免费使用和学习?
这里是程序员的舞台,你可以尽情展示自己的代码、编程技巧,让更多人发现你的不凡,包括你的面试官;这里是程序员学习和交流的平台,你可以随意查找开源代码及技术框架、看别人写的文章、关注大神级程序员并与之互动……
一句话概括:Github是一位优秀程序员记录成长、学习知识、业内社交不可或缺的平台。
二、程序员新手如何玩转Github
罗马不是一天建成的,胖子不是一天吃成的,代码也不是一天就能学会的,所以想要玩转Github,要从最基本的做起(本回答主要针对初次使用Github的新手展开,大神请无视)。
1、安装Git及注册Github账号
安装Git很容易:
在Linux及MACOS下面安装,以Ubuntu/Debian上为例:
$ sudo apt-get install git
在MAC上安装最简单的方法是安装 Xcode Command Line Tools。
Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。 如果没有安装过命令行开发者工具,将会提示你安装。
在Windows上安装也不复杂,下载官方的win版本即可, 当然,GitHub for Windows也是很好的选择。
对于初学者来说,使用命令行比使用图形界面的Git工具更合适,更利于加深你对Git的理解,所以本回答将使用MACOS环境下的终端上命令行操作进行演示。
完成了上述工作,你要注册一个Github账号,如果仅仅使用开源存储空间,是免费的。
2、创建一个本地Git仓库(repository,或简称repo)
首先我们要建立一个文件夹存放工程,比如:
mkdir goodporject
进入工程项目文件夹,然后运行
git init
尝试增加一个文件,比如:
touch mukewang.txt
然后:
git add .git commit -m “mukewang tuts”
提交。
以上是非常基本的Git操作。
3、在Github创建一个新的仓库
如果你只是单枪匹马地本地工作,创建Github仓库并不是很必要;如果你需要团队协作,那么创建Github仓库进行代码协作管理是事半功倍的必选项。
创建Github仓库,需要先登录Github主页,你可以看到一个绿色的“+ New repository”的按钮,点击它出现仓库设置页面:
repo创建完成后,会出现下面的页面:
这个页面的三个选项依次是:新建项目,从现有项目中加入这个repo,从别的repo导入。
我们已经建立过一个本地项目,所以我们选择第2个选项,进入本地工程文件夹,执行Github repo页面上提示的命令,我这里是:
git remote add origin https://github.com/cnmukewang/githubtuts.gitgit push -u origin master
此时,终端会提示你输入Github的用户名和密码,按提示以此输入。成功后你可以看到类似下面的信息:
刷新一下页面,你可以看到你的工程已经呈现在页面上了:
4、推送(push)一个分支到Github
将分支(branch)中的提交推送到新的GitHub仓库(repo)中,别人就可以看到你对它的修改。每个人都可以提交对分支的更改,而repo的所有者可以决定是否要将这些更改合并到主分支中。
将更改push到GitHub上,需要运行git push origin yourbranchname命令, Github会自动在远程仓库上为你创建分支。
我们来练习一下:
创建一个分支:
git checkout -b add-README
创建一个README.md的文件并编辑随便写点什么:
vim README.md
提交
git add .git commit -m “add readme “
推送到Github:
git push origin add-README
你的Github仓库页面很快就会看到新branch推送成功的消息,点击branch,选择add-README这个新分支,你会看到类似内容:
Github提供了强大的协作功能,这仅仅是开始。
5、创建一个Pull request合并请求
pull request( PR) 是通知仓库所有者的一种方式, 当你想对其代码进行一些更改时就会用到。它允许仓库所有者在对主分支进行更改之前检查代码并确保其表现良好。
点击绿色按钮“Compare & pull request”,会看到下列页面:
这里可以添加一个评论来解释这个PR的想法。然后点击Create pull request,你会看到类似下面的界面:
底部有一个 写着 “合并请求(Merge pull request)”绿色大按钮,单击此项就代表同意将更改合并到主分支中。
Tips:此按钮呈现灰色的时候,意味着出现合并冲突:当一个文件发生变化, 与另一个文件中的更改冲突时, git便无法确定要使用哪个版本,需要手动选择使用哪个版本。如果你是仓库的唯一所有者,可能不需要PR来合并更改。但是, 保持工程更完整的更新历史, 始终在进行更改时创建一个新的分支,是一个很好的习惯。
6、合并一个PR
练习继续,单击绿色的“合并请求” 按钮并确认。这将会让你的更改合并到主分支中。
当你完成合并后,建议删除你的分支(太多的分支可能会变得混乱),点击灰色的“删除分支(Delete branch)”按钮。
回到仓库主页,点击Commits选项卡,你会发现README的内容已经合并了。
此页显示该分支中所有提交的列表。可以看到我刚刚合并的PR (Merge pull request#1)。
7、在本地电脑上取回 GitHub 上的更改
现在, GitHub 上的仓库看起来与你在本地计算机上工程有点不同。例如, 你在分支中所做的提交并不存在于本地计算机上的主分支中。要获取 GitHub 上合并的最新更改, 可使用 git pull origin master命令 (确保你本地git状态是在主分支时)。
先返回本地主分支:
git checkout master
运行命令:
git pull origin master
你会看到类似下面的结果:
我们可以git log来检查一下:
以上就是Github最基本的操作。
当然,Github还有许多重要的功能,可以参考官方文档,玩转Github,必将为你的职业生涯添砖加瓦。Github的微软时代,或许会带来更多不一样的碰撞,让我们拭目以待吧。
热门评论
高赞回答在哪里