Mortal's Blog

生命不息,折腾不止!

Git及Github基本使用

文章最后修改于:2020-7-27 05:45:56

1. Git和Github简介

1.1 什么是Git

  • Git是一个免费、开源的版本控制软件(记录若干文件内容变化,以便将来查阅特定版本修订情况)

  • 具体功能:记录文件的所有历史变化、随时可恢复到任何一个历史状态、多人协作开发或修改、错误恢复

1.2 什么是Github

  • Github是全球最大的社交编程及代码托管网站:https://github.com/
  • Github可以托管各种Git库,并提供一个web界面: 用户名.github.io/仓库名

1.3 Github和Git是什么关系

  • Git是版本控制软件
  • Github是项目代码托管的平台,借助git来管理项目代码

1.4 为什么学习Github

学习优秀的开源项目,关注行业前辈了解最新的行业动态

可以通过Github趋势榜寻找优秀的热门项目,除此之外,另提供4个榜单如下:

  • GitHub中文排行榜:GitHub-Chinese-Top-Charts(榜单每周更新一次)

  • 分享 GitHub 上有趣、入门级的开源项目:HelloGitHub(每月28号发布一期)

  • 推送 GitHub 上优秀的开源项目给开发者:GitHubDaily(更新频率较低)

  • Windows最佳应用程序和工具的精选列表:Awesome-Windows(更新频率较低)

2. Github注册&&Git安装

2.1 Github注册

打开Github官网:https://github.com/

Step1:
《Git及Github基本使用》
Step2:
《Git及Github基本使用》
Step3:
《Git及Github基本使用》

说明:

1)Github创建私有仓库以前是收费的,被微软爸爸收购后,现在已经完全免费了。
2)Github在墙内访问极慢,需要翻墙访问(实在没法科学上网的话:可通过绕过DNS解析,直接在本地绑定host,加快访问速度)

2.2 Git安装

1)在官网下载Git:https://www.git-scm.com/download/win(墙内下载极慢,需要翻墙下载)

2)安装过程中一路next即可,安装成功后桌面右键单击出现Git GUI Here以及Git Bash Here

3. Gihub基本使用

3.1 Github基本概念

  • 仓库(Repository):仓库用来存放项目代码,每个项目对应一个仓库,多个开源项目则有多个仓库
  • 收藏(Star):收藏项目,方便下次查看
  • 复制克隆项目(Fork)&&发起请求(Pull Request):在原项目的主分支上又建立了一个分支,你可以在该分支上任意修改,如果想将你的修改合并到原项目中时,可以pull request,这样原项目的作者就可以将你修改的东西合并到原项目的主分支上去
    《Git及Github基本使用》
  • 关注(Watch):关注项目,当项目更新可以接收到通知
  • 事务卡片(Issue):发现代码BUG,但是目前没有成型代码,需要讨论时用

3.2 创建Github仓库

创建仓库:
《Git及Github基本使用》
仓库主页说明:
《Git及Github基本使用》

3.3 开源许可证的选择

世界上最流行的六种开源许可证—-GPLBSDMITMozillaApacheLGPL

开源许可证详解见:https://choosealicense.com/licenses/

如何选择适合的开源许可证?

《Git及Github基本使用》

简单点来说,就是:

《Git及Github基本使用》

3.4 Github仓库管理

1)新建文件

Step1:
《Git及Github基本使用》
Step2:
《Git及Github基本使用》
Step3:
《Git及Github基本使用》
Step4:
《Git及Github基本使用》

2)编辑文件

Step1:
《Git及Github基本使用》
Step2:
《Git及Github基本使用》
Step3:
《Git及Github基本使用》

3)删除文件

Step1:
《Git及Github基本使用》
Step2:
《Git及Github基本使用》
Step3:
《Git及Github基本使用》

4)上传文件

Step1:
《Git及Github基本使用》
Step2:
《Git及Github基本使用》

5)搜索仓库文件

《Git及Github基本使用》

6)下载/检出项目

《Git及Github基本使用》

3.5 Github条件检索

注:Awesome 已经成为不少 GitHub 工具软件项目喜爱的命名,所以可以用它来检索,并不是它本身有这个功能。

3.6 Github常见问题

1)问题1:Github里的图片无法正常显示

2)问题2:下载Github源代码速度慢

4. 使用Git将项目推送至Github仓库

4.1 Git基本工作流程

1)Git工作区域

《Git及Github基本使用》

2)向仓库中添加文件

《Git及Github基本使用》

3)Git管理远程仓库

  • 使用远程仓库的目的:备份,实现代码共享集中化管理

《Git及Github基本使用》

4.2 使用Git将项目推送到Github

[1] SSH KEY

由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:

Step1:先看一下 C:\Users\xxx有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建:

然后一路回车,这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件

Step2:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。

[2] 初次部署

说明:

1)用户名和邮箱设置:在github仓库主页显示谁提交了该文件,要根据github的注册信息来填写,不要填错了。

2) git init后,在文件夹内生成.git文件(如果没有,则 查看——勾选“隐藏的项目”

3)仓库地址可在clone or download按钮下取得(即仓库的浏览器地址栏末尾加 .git

4)使用git pull origin master命令报错: fatal:refusing to merge unrelated histories

  • 错误原因:如果合并了两个不同的开始提交的仓库,在新的git会发现这两个仓库可能不是同一个,为了防止开发者上传错误,于是就出现了此提示。

  • 解决办法:如我在Github新建一个仓库,写了License,然后把本地一个写了很久仓库上传。这时会发现 github 的仓库和本地的没有一个共同的 commit 所以 git 不让提交,认为是写错了 origin ,如果开发者确定是这个 origin 就可以使用 –allow-unrelated-histories 告诉 git 允许不相关历史合并

5)使用git push origin master命令报错: error:failed to push some refs to URL

  • 错误原因:直接在 GitHub 上修改后,内容已经和本地不一致了,必须要合并(merge)
  • 解决办法:先使用git pull origin master命令下载到本地并合并,自动弹出的vim编辑器(按 i 进行编辑,说明为什么合并,可选择不修改,ESC进入命令行模式然后输入 :wq退出),再git push origin master

6)使用git add .命令报错:warning: LF will be replaced by CRLF

  • 原因:在Unix系统中,行尾用换行(LF)表示。在窗口中,用回车(CR)和换行(LF)(CRLF)表示一行。当您从unix系统上载的git中获取代码时,它们将只有LF。

  • 解决办法:如果您是在Windows计算机上工作的单个开发人员,并且您不关心git自动将LF替换为CRLF,则可以通过在git命令行中键入以下内容来关闭此警告

[3] 后续使用

[3] 后续使用

5. 使用Github Page搭建网站

5.1 Github page搭建步骤

[1] 新建仓库(注:仓库名必须是 用户名.github.io
[2] 在仓库下新建index.html的文件即可

《Git及Github基本使用》
《Git及Github基本使用》

说明:

  • Github page 仅支持静态网页
  • 仓库里面是.html文件
  • 可以更换主题(Setting——Github页面——更改主题)

5.2 访问Github pages网站

  • 在浏览器输入: https://用户名.github.io

6. 参考资料

[1] 学会Git玩转Github from Bilibili

[2] 如何选择开源许可证?from 阮一峰的网络日志

[3] 常见的开源许可证介绍 from Github

[4] 掌握3个搜索技巧,在 GitHub 上快速找到实用软件资源 from 少数派

[5] Git的使用–如何将本地项目上传到Github from 知乎

[6] git无法pull仓库:refusing to merge unrelated histories报错 from CSDN

[7] git push origin master报错解决办法 from CSDN

点赞

发表评论

电子邮件地址不会被公开。

EA PLAYER &

历史记录 [ 注意:部分数据仅限于当前浏览器 ]清空

      00:00/00:00