引 言
要想从菜鸟级的代码搬运工变成资深的码农,就必须会使用GitHub。谈及github就不得不提它的代码存储与共享能力,大型团队可以在github上存储代码共同开发项目,很多大咖的优质代码以及各种开源框架也都存储在github上成为了提升自己能力而不可或缺的优质资源。本文主要介绍github上创建远程库,如何关联本地库和远程仓库,以及如何上传自己的项目代码。
目录
一、Github网站用户注册及创建远程仓库
Github作为一个开源代码库及版本控制系统,可以托管各种git库,提供良好的用户交互网站界面。
打开Github的网站登录界面https://github.com/login,注册一个自己使用的github账号。注册邮箱为最常用的qq邮箱即可,方便验证信息和找回密码等操作。注册账户后登录界面就可以创建属于自己的github存储仓库存储项目代码。按照红色箭头指示的顺序创建新仓库。
输入新仓库的名称选择远程仓库的使用权限是public(全公开)还是private(仅自己可见) ,设置完毕后点击界面下方的create repository按钮创建新仓库。
仓库创建完成后,若想要将项目代码上传至此远程仓库。需要使用git软件和一些git命令(github只托管git版本库),此外还需要复制红色框框住的SSH地址。下面章节详细介绍git软件的安装和使用过程。
二、安装git软件
git是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。git软件放置于客户端作为一个中间件与github远程仓库相连接,可以实现本地端上传自己的项目代码到github上。
安装包可以从官网下载: https://gitforwindows.org/或https://git-scm.com/download/win,
也可以从github上下载:https://github.com/git-for-windows/git/releases。下载后安装git软件,安装过程中记得勾选“Git Bash here”和“Git GUI here”。一路Next安装完成。
三、git本地仓库的使用命令
git在本地端使用时主要用途是版本控制,重点关注代码文件的修改细节,可以方便程序员发现不同版本文件的细微区别,同时可以还原文件到需要的版本。git与github关联后可以通过一些命令将完整的项目代码传送到远端仓库git服务器上方便项目组成员共享查看。
git常用命令:
命令 | 作用 |
git init | 初始化本地文件夹变成一个存储仓库,文件夹中会自动生成.git 隐藏文件,变成仓库后可以使用git的各种命令。 |
git add .或 git add -A | 将文件夹中的所有文件添加到git中,变成可追踪状态。 |
git add 文件名 | 仅仅添加一个文件。 |
git commit -m "提示信息" | 提交文件到仓库,提示信息主要描述具体修改信息。 |
git log | 查看日志 |
git status | 查看当前库的状态 |
git clone 远程仓库SSH地址 | 克隆github上的远程仓库中的文件到本地。 |
git remote add origin 远程仓库SSH地址 | 添加远程仓库到本地库 |
git push -u origin master (现在用 git push -u origin main) | 将项目提交到远程服务器上。 |
git pull origin master (现在用git pull origin main) | 把远程服务器上的文件更新到本地,实现同步 |
以上git命令就可以完成项目代码上传工作,其他命令的详细介绍可以参考博客https://www.cnblogs.com/schaepher/p/5561193.html#github
四、本地Git与Github账户关联
本地项目文件要上传远程服务器github上,本地git仓库需要与github账户关联,以下介绍关联操作过程。
1.配置GitBase
在github官网上注册用户账号后,在本地机的git上配置用户名和邮箱,鼠标右键单击Git Bash here打开git交互命令窗口设置gitbase。有两种方法:
方法一:
在gitbash中输入以下命令
git config --global user.name "git用户名" 注:git用户名可与github上用户名不同。
git config --global user.email "git注册邮箱"
方法二:
直接修改.gitconfig文件,文件存储路径为:C:\Users\xxx\.gitconfig。文件用记事本打开添加用户名和邮箱信息。
2.创建ssh keys并绑定用户账号
(1)创建ssh keys
在git bash中输入命令: ssh-keygen -t rsa -C "git注册邮箱",在每个等待输入阶段直接回车即可,直到出现以下界面,说明用户ssh keys创建完毕,下图展示完毕界面。
ssh keys密钥创建完毕后存储在哪里,以及如何copy密钥?接下来我将回答这个问题。
密钥文件存储在C:\Users\****\.ssh文件夹中,在文件夹里你会发现id_rsa和id_rsa.pub两个文件,其中密钥就存储于id_rsa.pub 。使用记事本打开该文件,复制里面所有的内容。然后在绑定用户账号时直接粘贴。(注:SSH keys只需要绑定一次,不需要重复绑定)
如果发现寻找密钥文件存储路径操作太过繁琐,也可以直接在刚才生成密钥文件的gitbash命令窗口内继续输入命令clip < ~/.ssh/id_rsa.pub 按回车,系统也会自动将密钥文件中的内容全部复制。
(2)ssh keys绑定用户账号
在github网站上,点击右上角用户图标选择settings。
选择SSH and GPG Keys,点击New SSH key按钮,创建新SSH key。
添加新SSH key时,Title部分可以随便书写,将刚才生成的ssh keys复制粘贴到key中,点击add ssh key完成密钥绑定工作。
(3)为测试用户绑定密钥过程是否成功,可以在gitbash中输入命令 ssh -T git@github.com 测试连接成功与否。若以下界面出现 You've successfully authenticated语句说明用户绑定密钥操作顺利完成。
五、github代码上传
方法一:本地创建新仓库并上传代码
在本地计算机中创建新仓库(就是一个文件夹),然后将新仓库与github上新建的远程仓库相关联,将项目代码复制到本地新仓库中,在git bash中输入命令上传项目代码文件。
具体示例
1)在计算机桌面上创建名称为update_demo的文件夹,选中文件夹后右键鼠标点击Git Bash Here进入git bash命令交互界面(也可以进入文件夹中在空白处右键鼠标点击Git Bash Here)。在git bash 命令窗口中输入git init命令,将文件夹变成可管理的git仓库,文件夹内部出现.git隐藏文件。在文件夹中粘贴项目文件,演示实验就创建一个test.txt文本文件。
按照以下顺序输入命令
2) git add -A 或 git add .
3) git commit -m "上传文件"
4) git branch -M main
5) git remote add origin 复制的SSH地址
例如: git remote add origin git@github.com:yan-hero/git_demo.git
注意:若执行该命令出错,说明git服务器上已经存在origin。
需先执行命令git remote rm origin,删除这个远程origin,然后重新执行命令,命令窗口不会再报错。
6) git push -u origin main
注意:若执行push上传命令出错,说明创建 repository 的时候,加入了 README.md 或者 LICENSE ,而本地文件夹中没有README.md 文件,那么 github 会拒绝你的 push上传请求。
你需要先执行git pull --rebase origin master(现在为git pull origin main),把远程服务器上的差异文件下载到本地端,实现与本地仓库同步,重新执行push命令可以成功上传文件。上传远程仓库成功界面如下。(注意:pull=fetch+merge两个命令)
7)刷新github上创建的仓库,发现上传的文件已经出现。
注意:新版本的github创建的仓库界面下方也给出了上述命令的执行提示(前提是创建仓库时不勾选Add a README选项)。
方法二:克隆远程仓库到本地后上传代码
1)在本地端进入git bash命令交互界面输入命令git clone 复制的SSH地址(文章第一部分已经讲解新仓库git_demo的创建过程,复制该仓库的SSH链接地址),将远程仓库克隆到本地计算机指定目录中。
注意:远程仓库想要克隆到本地机器的哪个目录中,就需要在该目录中打开git bash窗口输入clone命令,该目录下会创建与仓库同名的文件夹。
2) 进入git_demo文件夹,将要上传的项目代码拷贝进文件夹。本文示例上传一个test.txt文件。
3)按照方法一的命令顺序执行
git add -A 或 git add .
git commit -m "提示信息"
git remote add origin git@github.com:yan-hero/git_demo.git
git remote rm origin
git push -u origin main
也可以将文件上传至远程仓库。
注意:第一次代码上传github后,本地库添加新文件后再上传github时就只需要两个命令便可实现代码上传功能。
git add -A
git commit -m "提示信息"
六、Github访问加速
Github服务器架设在国外,时常出现无法访问github的情况,为提高网站访问速度可以参考博客安装Watt Toolkit插件。