前言

适合系统:linux和macos

阅读本文需要有一定linux知识,懂一点linux命令。

什么是Github?

git.png

github.jpg

要了解什么是GitHub,首先要了解什么是Git

Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。

GitHub

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

简单来说,就是能把你写的代码项目在任何设备随时上传,可以在任何设备再下载下来,实现多端同步。

正文

创建你自己的git项目仓库

注册github后,进入个人账户页面,有个New按钮。点击以后创建Repository仓库。

img20431.png

命名自己能懂即可,最好和你本地的项目文件夹相似,后面会用到,比如我这里创建的是自己R语言学习的内容

本地部署git

安装非常简单,只要懂一些命令即可。

$ sudo apt install git-all #debian系

$ git --version #macos安装Xcode Command Line Tools后运行该命令即可。Xcode Command Line Tools的安装方式也十分简单,请自行查找。

其余系统安装请参考git官网:GIT起步

将机器与Github关联

相信玩过服务器的朋友应该都知道ssh是什么。由于git是通过ssh完成文件上传下载的,所以需要将一个ssh秘钥文件填到GitHub,完成你的机器的认证。

$ cd .ssh 

如果提示No such file or directory,说明本机还没有生成过sshkey,执行下面的命令

$ ssh-keygen -t rsa -C "你的邮箱地址"

这步运行结束出现长方形字符画即成功,申请的sshkey已经保存在.ssh文件夹里了。

之后打开秘钥文件复制里面的全部内容:

$ cat ~/.ssh/id_rsa.pub
#或者如果你会用vim
$ vim ~/.ssh/id_rsa.pub

当然也可以直接用文本编辑器打开,.ssh隐藏文件夹在你的用户文件夹下。macos显示隐藏文件快捷键为Ctrl+shift+.

img20433.png

回到你的GitHub用户页,点击右上角,进入settings,点击左侧SSH and GPG keys

20434.png

20435.png

点击右上角newsshkeys,标题随意,把复制的秘钥文件内容粘贴进下面的框里保存,就完成的GitHub认证。

20436.png

完成之后终端通过以下命令确认SSH key是否成功

$ ssh -T [email protected]

#最后出现以下内容即成功
Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

将项目文件夹进行git配置并上传

终端通过cd进入你想要同步的项目文件夹,运行如下命令:

$ git init #初始化,这步运行后你的终端会显示git:(master) ✗ 

$ git add . #官网给的指导里写的是README.md,那只是个示范,是只把README.md这个文件上传。这里的意义是同步这个文件夹的所有内容

$ git commit -m "first commit" #引号内的内容是写你上传更新的原因

$ git branch -M main

$ git remote add origin https://github.com/你的用户名/你刚刚设置的仓库名.git 
#忘记仓库名的话浏览器进你仓库页面,网址复制下来后面加上.git即可

$ git push -u origin main #push上传

完成!现在重新进入仓库页面,可以看到文件夹下的内容已经在里面了!

以后只需要cd到项目文件夹,执行以下的命令就能上传更新了。

$ git add .
$ git commit -m "更新原因"
git push -u origin main

若要将云端代码同步到本地,命令:

$ git pull --rebase origin master

然后你就可以愉快地把自己的所有项目进行上传到github了!

参考3y的文章的部分内容:https://github.com/ZhongFuCheng3y/3y 并作出一定修正改进。