你搬进Github了吗?


前言

在Github上,可以管理自己的项目,也可以参与别人的项目做贡献,当然你也可以做一名愉快地Code搬运工。

初学者疑惑:
1)Git和Github的关系?
2)如何上传并管理自己的项目?
3)如何搜索项目并下载?
4)如何参与别人的项目,做贡献?

该文逐一总结,让你快速入门。


一、Github简介

起源

“我是个自负的混蛋,所以我的项目都以我自己的名字命名,先有Linux,现在是Git”

                            -------Linus
  • Git是一个版本控制系统,Github是一个基于Git的项目托管平台,并提供一个web网站。
  • Github的独特之处在于,可以复制别人的项目到我们的账号(也称拉分支)简易。
  • 也即,为一个项目贡献代码,只需三步:
    1)通过项目站点的Fork按钮复制该项目;
    2)将修改加入到该分支;
    3)通过pull request向项目负责人申请合并。
  • 注:从主库中复制出来的每一个库都可以独立使用,任何两个库之间的不一致都可以合并。

Github上有什么?能做什么?

1)有丰富的学习资源
2)有著名的开源项目代码
3)可以渲染自己的简历
4)可以搭建自己的个人博客网站

大佬主页

Linus Torvalds— —Linux 之父 。>>GitHub 主页:torvalds - Overview
John Resig— — jQuery 创始人,著《Pro JavaScript Techniques》(即《精通JavaScript》)>>Github主页: jeresig -Overview
Jake Wharton— — Android 之神。 >>Github主页: JakeWharton -Overview

开源项目及公司

项目

Linux:torvalds/linux

Swift:apple/swift

Ruby:ruby/ruby

公司

Google: Google

Microsoft:Microsoft

Alibaba:Alibaba

相比于svn等工具来说优势如下:

  • github它体现了互联网时代的开源文化。
  • 目前github已经是全球开源项目最大的托管平台。
  • 大多项目都可在github上找到别人已经开发的项目源码进行参考。
  • 建私人仓库需付费,普通用户只能使用公共仓库(及代码公开)。

二、注册登录

Github官网:https://www.github.com

在这里插入图片描述

注意事项:

  • 由于你的项目地址以及搭建个人博客地址由你的用户名组成,
  • 因此起具有标识性的用户名;
  • 私有仓库收费,普通用户一般创建公开仓库;

1.GitHub 主页介绍

个人主页

在这里插入图片描述

修改个人信息

在这里插入图片描述

2.创建 GitHub 仓库

在这里插入图片描述

3.GitHub 术语解释

相关术语
Repository: 可以理解为"仓库",项目存放于仓库中,一般一个仓库对应一个项目。
Issues: 可以理解为"问题",对于我们开源项目的bug或有待改进的地方,别人可以提出Issues,等问题解决之后可以关闭这些Issues。同样我们也可以给他人项目提出Issues。
Star: 可以理解为“点赞”,对于优秀的项目可以点赞收藏。一个项目点星数越高,该项目越好。
Fork: 可以理解为“拉分支”,若对感兴趣的项目想开发并添加功能,我们可以Fork这个项目,即复制该项目到我们的账号,而且独立于原项目,可独立开发。
Pull Request: 可以理解为“提交请求”,在Fork基础上,修改后我们可以对原项目拥有者提出一个Pull请求,审核通过后,我们的修改内容就可以合并到原项目之中,这时我们就成了该项目的贡献者。
Merge: 可以理解为“合并”,当别人Fork了我们的项目对其修改,并提出Pull请求,我们可以审核,如果内容满足我们的要求,就可以将其合并到我们的项目中。
Watch: 可以理解为"观察",如果我们watch了一个项目,日后该项目的任何更新我们都会收到通知。

三、Git 的安装及使用

Github是基于版本控制系统Git的,因此想要实现Web端与本地仓库的链接,需要学会git工具。

Git官网:https://git-scm.com/

在这里插入图片描述
在Git官网,点击 Downloads进入如下界面:并选择对应的操作系统下载(如64位)。
在这里插入图片描述
安装过程,可更改默认的安装路径C:\Program Files\Git。其他选择默认即可。
在这里插入图片描述
安装完成后,开始菜单选择“Git Bash”,打开命令窗口
在这里插入图片描述
输入命令git,显示如下信息,则Git准备就绪。
在这里插入图片描述

1.Git 常用命令

介绍Git命令操作,如init、add等,在Git中所以命令都是以git开头的,如git init指的是初始化一个Git仓库。

首先,在本地新建一个文件夹用来存放今后的所有仓库,如D:\GitHubRepository。再新建一个Demo目录作为一个仓库,在仓库内新建一个text.txt的文件作为仓库内容。接下来我们通过git命令,将该Demo仓库及.txt文件上传至我们的Github。
在这里插入图片描述

选择Demo目录右键,选择Git Bash here,即可进入命令行窗口。如图,Git会自动定位到进入的位置。
在这里插入图片描述

相关命令的使用

  1. git status
    输入git status 命令,查看仓库状态:
    在这里插入图片描述
    如上图,结果显示Demo不是一个Git仓库。因为我们还没有申明Demo是一个Git仓库。

  2. git init
    输入git init 命令,初始化Git仓库:
    在这里插入图片描述
    如上图,结果显示初始化的Demo为一个空的Git仓库,我们在Demo中创建了text.txt文件,那么为什么会提示空呢,稍后解惑。我们再次查看仓库状态:
    在这里插入图片描述
    如上图,我们初始化仓库后,Demo已经成为了一个Git仓库,并默认进入了仓库的master分支,即主分支。
    注意:Untracked files提示,Demo仓库有一个文件没被追踪,文件为text.txt,还提示我们可以使用git add命令添加该文件。

  3. git add
    输入git add text.txt命令,将该文件添加到仓库。然后查看仓库状态:
    在这里插入图片描述
    如上图显示,Committed表示已添加到Git仓库,但是并没有正真提交到仓库。

  4. git commit
    输入git commit -m "text commit"命令,将.txt文件提交到Git仓库。
    在这里插入图片描述
    如同所示,text commit表示已提交,-m表示提交信息,内容写在“”内。继续查看仓库状态,提示:已没有内容可提交。

  5. git log
    输入git log ,打印Git仓库提交日志:结果显示提交作者、日期信息。
    在这里插入图片描述

2.利用 SSH 完成 Git 与 GitHub 的绑定

现在,我们已经了解了Github创建仓库,Clone or download克隆或下载代码,以及git的一些命令。
但是,Github和git两者并未绑定,还不能通过git向Github提交代码。在Github上一般都是通过SSH来授权,首先在Github上添加SSH key。

第1步.:生成SSH key
Windows系统默认不安装SSH,但是安装了Git Bash自带了SSH。可以在Git Bash中输入ssh命令查看。
在这里插入图片描述
接下来,输入ssh-keygen -t rsa 命令,表示指定RSA算法生成密钥,然后三次回车,不需要输入密码,之后会生成两个文件,分别为id_rsa和id_rsa.pub,即密钥和公钥。其默认路径为:
Windows 系统:C:\Documents and Settings\username\.ssh

然后将公钥id_rsa.pub的内容添加到Github,这样本地的密钥id_rsa和Github的公钥进行匹配授权后,就可以向Github提交代码了。

第2步.:添加SSH key

在这里插入图片描述
第3步.:验证绑定是否成功

在Git Bash 中输入ssh -T git@github.com进行测试:显示Git与Github绑定成功。

在这里插入图片描述

3.通过 Git 将代码提交到 GitHub

两个命令:Push和Pull

Push:直译”推“的意思,如果本地的代码有了更新,为保持本地与远程代码同步,我们需要把本地的代码推到远程仓库,命令如下:

git push origin main

Pull:直译”拉“的意思,如果远程仓库的代码有了更新,同样为了保持本地同步,我们需要把远程的代码拉到本地,命令如下:

git pull origin main

此时,之前说到的pull request就好理解了,它表示:如果我们Fork了别人的项目并对其修改后,想要把我们的代码合并到原项目中,我们需要提交一个pull request,意思是让原作者拉取一个请求,即把我们的代码拉到他的项目中。

注:一般先pull项目到本地,完成代码后再push到远程。

提交代码
向远程仓库提交代码,两种情况:
第一种:本地没有Git仓库,我们可以直接从Github仓库clone到本地,本地无需初始化仓库,且自动关联远程仓库。我们只需要在这个仓库进行修改,然后提交。

在这里插入图片描述
复制Github中需要clone的项目地址链接,然后在本地准备存储的目录下D:\GitHubRepository,进入Git Bash:
输入命令:git clone https://github.com/Jomaron/EGG-Learning.git

在这里插入图片描述
在本地查看:已下载项目及内容README.md文件。我们在本地继续添加新代码文件,并上传到远程。

在这里插入图片描述

通过git status查看,该仓库有两个新文件Text.txt和src未上传至远程。
在这里插入图片描述
通过git add命令添加,通过git commit -m "commit "提交。
在这里插入图片描述
如上图,已将两个文件add并commit到仓库。输入git log命令查看提交日志,并查看仓库状态:
在这里插入图片描述
接下来,将本地仓库内容push到远程仓库,输入git push origin main命令:

在这里插入图片描述
刷新Github页面,显示文件已经上传。
在这里插入图片描述
以上介绍了向 GitHub 提交代码时的第一种情况,即:

第一种:当本地没有仓库时,我们通过Github上的项目链接,将远程仓库clone到本地,clone命令默认创建Git仓库,因此无需init初始化,且自动关联远程仓库。我们只需要在本地修改、添加、然后提交,最后push到远程仓库进行同步。

第二种:本地有 Git 仓库,并且我们已经进行了多次commit操作。

四、总结

强调:在我们向远程仓库提交代码的时候,一定要先进行pull操作,再进行push操作,防止本地仓库与远程仓库不同步导致冲突的问题。

参考:
1.还不会使用 GitHub ? GitHub 教程来了!万字图文详解
2.提高国内访问 Github 速度的 9 种方法
3.史上最简单的 GitHub 教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值