前言#
适合系统:linux 和 macos
阅读本文需要有一定 linux 知识,懂一点 linux 命令。
什么是 Github?#
要了解什么是GitHub,首先要了解什么是Git:
Git(读音为 /gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的 Git 仓库。
GitHub:
GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 git 作为唯一的版本库格式进行托管,故名 GitHub。
简单来说,就是能把你写的代码项目在任何设备随时上传,可以在任何设备再下载下来,实现多端同步。
正文#
创建你自己的 git 项目仓库#
注册 github 后,进入个人账户页面,有个New按钮。点击以后创建Repository仓库。
命名自己能懂即可,最好和你本地的项目文件夹相似,后面会用到,比如我这里创建的是自己 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+.
回到你的 GitHub 用户页,点击右上角,进入 settings,点击左侧 SSH and GPG keys
点击右上角 newsshkeys,标题随意,把复制的秘钥文件内容粘贴进下面的框里保存,就完成的 GitHub 认证。
完成之后终端通过以下命令确认 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 并作出一定修正改进。