github极简指南

入生信的坑已经3年多了,但开始github的旅程才一年多,起初主要是为了建立bioconductor中文社区而学习的,现在也在自己的github上面分享了不少代码,有一些心得体会,欢迎大家前往github star我的项目

当初想了解github的时候看到过不少教程,始终觉得不够透彻,还是分享一下自己的心得吧。 首先要明白为什么要用github,一般就4类需求啦:

  • 仅仅是为了查看拷贝别人的代码,那么其实没必要用github,下载代码即可。
  • 需要分享代码,那么创建一个账户把代码上传即可。
  • 一个长期的编程项目,就略微有点麻烦,会涉及到代码备份,回滚,撤销等各种git指令,其实大部分人不需要学这东西。我就从来没有用过回滚操作。
  • 如果是团队合作,那么更加复杂了,需要买一本git操作书籍开学习,并且经常团队会议,学习几十个小时才行。

大部分人只需要学会把自己的电脑跟自己的github账户关联,然后新建一个git项目跟github里面的仓库关联即可。

git clone复制一个 Git 仓库

大多数人的需求仅止于此啦,就是想复制一个项目,看看代码,你就可以克隆那个项目。 在终端执行 git clone [url],[url] 为你想要复制的项目,就可以了,比如下面:

上述操作将复制该项目的全部记录,让你本地拥有这些。并且该操作将拷贝该项目的主分支, 使你能够查看代码,或编辑、修改。

默认情况下,Git 会按照你提供的 URL 所指示的项目的名称创建你的本地项目目录。 通常就是该 URL 最后一个 / 之后的任何东西。

这个时候跟github本身没有关系,因为你只是下载了文件而已,并没有涉及到提交代码。如果要提交代码,需要把自己的电脑跟github关联,并且关联指定的仓库。

安装git,然后把自己的电脑关联自己的github账户:

去github官网创建账号的教程我就不写了,有了账号密码就需要跟自己的电脑关联起来,这样github网页才会认可你,允许你上传你的代码。

如果是windows电脑,那么需要下载git软件才可以,软件下载地址http://git-scm.com/,安装好git就可以打开终端了。

如果是mac或者linux,那么打开终端即可,一般都默认安装了git软件。

终端,就是下面这样的黑白命令行,打开之后在终端里面运行命令: ssh-keygen -t rsa -C "jmzeng1314@163.com"(替换成自己的github注册邮箱)

可以看到 home目录下面多了一个.ssh文件夹

用notepad++等高级文本编辑器打开那个public key文件,把里面的内容复制到自己的 github网页里面的ssh keys里面

然后就成功啦,如下 ssh -T git@github.com,可以用测试一下

配置本地用户和邮箱

用户名邮箱作用 : 我们需要设置一个 用户名邮箱, 这是用来上传本地仓库到GitHub中, 在GitHub中显示代码上传者;

使用命令 :

git config --global user.name "jmzeng1314" //设置用户名 git config --global user.email "jmzeng1314@163.com" //设置邮箱

到此Git客户端已安装及GitHub配置完成,现在可以给GitHub传输代码了。

客户端把本地文件夹和github仓库关联

github的客户端非常之多,很多人喜欢github desktop,不过我比较熟悉的Rstudio,因为我喜欢R语言。

Rstudio客户端的global菜单里面有设置github账号关联的方法,因为我们电脑本来就已经关联了,这个就略过哈。

首先在自己的github网页里面新建同样的空的project,然后去自己刚才在本机用Rstudio新建的文件夹里面:

因为是空白仓库,所以直接进入终端,然后进入项目文件夹里面把本地文件上传到指定的即可。

$git init      //初始化$git add .   //把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件,见下文)$git commit   //提交到本地仓库,然后会填写更新日志($git commit -m “my first vesion of ...”)$git remote add origin  https://github.com/jmzeng1314/test.git  //增加到remote$git push origin master    //push到github上

记住要在github网站里面新建的是空白的仓库哦。

这样就把网页版github和本地的文件夹联系起来了,以后要修改了这个程序,只需要点击commit+push即可,如果是网页版的程序被修改了,就先pull一下。

当然,其实对大部分人来说,意义不大,因为大家喜欢命令行的,不是很喜欢这个鼠标点击来进行同步。命令行就需要看下面的教程啦。 https://www.r-bloggers.com/rstudio-and-github/ http://r-bio.github.io/intro-git-rstudio/

命令行把本地文件夹和github仓库关联

首先在自己的github网页里面新建一个空的仓库,然后运行下面的代码即可!

cd ~/test        //到test目录,本地目录名与repository的名字不一定相同git init      ##初始化git add .   ##把所有文件加入到索引(不想把所有文件加入,可以用gitignore或add 具体文件,见下文)git commit -m 'aha'  ##提交到本地仓库,然后会填写更新日志($git commit -m “my first vesion of ...”)git remote add origin https://github.com/jmzeng1314/test.git  ##增加到remotegit push origin master   ##push到github上

记住一定要是空白的仓库哦,如果万一你新建仓库的同时建立了readme文件,就直接clone好了,走下面的流程。

github进阶操作。

其实就是本地的代码有所修改,需要同步到github而已,又或者github网页里面的代码被修改了,需要同步到本地。如果是多个人合作,那么别人会修改你的代码,所以每次你上传代码之前,都需要先把github网页里面的代码先拉下了,再合并后上传自己的。

1.更新项目(新加了文件), 这个是最高频需求

$cd ~/hello-world$git add .    //这样可以自动判断新加了哪些文件,或者手动加入文件名字$git commit   //提交到本地仓库,不加参数会提示,注意:^=Ctrl,按照提示来就好了~~~$git push origin master    //不是新创建的,不用再add 到remote上了

2.更新项目(没新加文件,只有删除或者修改文件): $cd ~/hello-world $git commit -a //记录删除或修改了哪些文件 $git push origin master //提交到github

3.忽略一些文件,比如*.o等:

$cd ~/hello-world$vim .gitignore    //把文件类型加入到.gitignore中,保存

然后就可以git add . 能自动过滤这种文件

4.clone代码到本地:

$git clone https://github.com/jmzeng1314/test.git  

5.假如本地已经存在了代码,而仓库里有更新,把更改的合并到本地的项目:

$git fetch origin    //获取远程更新$git merge origin/master //把更新的内容合并到本地分支

这个也是最高频需求

6.撤销

$git reset

7.删除

$git rm  * // 不是用rm

装逼请看这个:http://www.oschina.net/question/1397765_166368

安装git工具看这个:http://www.ihref.com/read-16377.html

上传自己的代码看这个:http://blog.csdn.net/hanhailong726188/article/details/46738929

一些开发过程的注意事项:http://blog.csdn.net/u011068702/article/details/49531167

简介完整教程:http://caibaojian.com/use-github.html

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2017-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏电光石火

Windows 2008 R2上配置IIS7的php

下载本页所需软件:download.zip 在浏览IIS官方网站(http://www.iis.net )发现一个很好的工具 PHP Manager f...

1899
来自专栏Ryan Miao

使用webstom或者idea上传代码到github或coding

鉴于github网络速度太慢,建议用coding。先介绍github上传方式,因为webstom或idea集成了github,方法简单。 git是一个版本控制器...

2547
来自专栏coding...

跨平台移动开发 Flutter 初体验安装flutter安装VSCode新建Flutter工程Tips

打开 Terminal 先cd到你需要安装的目录下, 我这里直接在 ~ 个人目录下

763
来自专栏维C果糖

通过 Git 将代码提交到 GitHub(上)

1 前言 在「利用 SSH 完成 Git 与 GitHub 的绑定」一文中,我们完成了本地 Git 与远程 GitHub 的绑定,这意味着我们已经可以通过 Gi...

1775
来自专栏Thinks

你的第一个渐进式网站应用(2)

点击下面的链接,下载这个代码实验室的完整代码:

481
来自专栏Java后端技术

使用Maven的assembly插件实现自定义打包

  最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembl...

542
来自专栏WindCoder

ubuntu14.04下java安装及环境配置

这可以说是一篇迟到的文章,几个月前就说要写,结果拖到了现在。中间由于系统打不开等一系列原因,不得不重装了一遍,这次环境配置是出了点小问题,最后奉上。

382
来自专栏北京马哥教育

如何在一个 U 盘上安装多个 Linux 发行版

1275
来自专栏云计算教程系列

给Buildbot加上SSL,使用Nginx做反向代理

Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布。Buildbot自带内置的Web服务器并使用8010端口,为了使用SSL保...

1575
来自专栏云计算教程系列

如何在Ubuntu 14.04上将ngx_pagespeed添加到Nginx

ngx_pagespeed,或者只是pagespeed,是一个Nginx模块,旨在通过减少资源的大小以及客户端浏览器加载它所需的时间来自动优化您的网站。如果您还...

703

扫描关注云+社区