前言
适合系统:linux和macos
阅读本文需要有一定linux知识,懂一点linux命令。
什么是Github?
要了解什么是GitHub,首先要了解什么是Git:
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的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 并作出一定修正改进。