使用GitHub

GitHub是什么

GitHub既是一个大型的git服务器,以便用户上传自己的项目到上面(当然包括git的提交记录);也是一个成千上万开发者和项目能够合作进行的中心,在那里,你可以找到任何你想要的东西。很多世界著名的项目都开源在GitHub上,比如Linux Kern源码,VSCode源码。

我是把它当作一个git服务器来备份项目的(如果只是这样,有很多其他平台可以代替,比如Gitee、GitLab),因为其他功能暂时用不上。

注册GitHub账号

先到GitHub的主页,输入用户名进行注册。

注册界面

新建GitHub项目

要把本地的项目上传到GitHub,必须先在GitHub上建立一个项目。

新建项目

输入项目的名称何描述,选择项目是公开的还是私密。若公开,则所有人都能看到你的代码和修改历史,且可以你的项目复制一个副本到他的GitHub账户下进行编辑;若私密,则只有你自己可以看到。以前的私密项目是收费的,但是在微软收购GitHub后,就免费了。README文档里的内容会出现在你的项目主页上,让进入你项目主页的人更详细了解你的项目,可以在建项目时加入README文档,也可以在以后随时加入。填写完信息,点击绿色的新建项目按钮即可。

推送本地项目到GitHub

可以直接在GitHub的网页上上传文件和修改,但是这个做法比较傻,一般都是直接在本地推送到GitHub的服务器。

首先,到GitHub项目主页上复制项目链接

项目链接

在本地把这个链接加入到git的远程(remote):

git remote add origin https://github.com/cuncinc/Default.git

其中,origin是通俗的写法,表示这个分支是在上游的源头。当然,也可以把origin换成其他名称,但是要记得,因为每次推送(push)的时候都要用到。

然后,就可以进行推送了:

git push origin master	#把本地的master分支推送到origin,这里origin用前面remote的命名代替
Username for 'https://github.com':		    #输入GitHub账户名或邮箱
Password for 'https://[email protected]':	#输入密码,在输入时没有提示符,但确实在输入

推送成功

因为GitHub的服务器在国外,所以有时候会连不上去。

刷新GitHub的项目主页,可以看到上次提交的文件已经被推送上来了,还有提交的信息注释。

image.png

设置SSH key

难道每次推送都要输入一次GitHub的账号和密码吗,这岂不是很麻烦?

当然有解决方法。

获取本地SSH key

首先要在本地检查是否已经存在SSH key:

ls ~/.ssh	#Linux和Windows平台通用(win可在PowerShell或git bash下执行)

No such file or directory	#类似提示就是没有

则生成新的key:

ssh-keygen -t rsa -C "你的邮箱地址"	#linux和win通用,注意-C是大写

然后无脑三个回车即可生成。现在已经有key,可以继续往下看。

id_rsa  id_rsa.pub  known_hosts  known_hosts.old	#列出id_rsa等几个文件则说明有

复制id_rsa.pub里的内容(用你喜欢的方式即可):

cat ~/.ssh/id_rsa.pub	#把id_rsa.pub的内容打印到屏幕上,全选复制

获取key

设置SSH key

先在GitHub的账号设置(Settings)里,进入SSH and GPG keys栏,点击右上角的New SSH key按钮。

image.png

填一个合适的Title,把从id_rsa.pub复制出的内容填到Key处,点击Add SSH key按钮。

设置key

用SSH连接上传

此时,在用git push时,若不想输入账号和密码,需要使用SSH连接的方式来推送。

到项目主页复制SSH链接。

SSH链接

删除本地之前设置的HTTPS连接方式,并用SSH的方式进行推送:

git remote rm origin	#把之前的命名删除
git remote add origin [email protected]:cuncinc/Default.git	#用ssh方式连接
git push origin master
#也可以 git push [email protected]:cuncinc/Default.git master

SSH推送

Summary

  1. 下载并安装git,用git --version测试是否安装成功。

  2. 配置git环境。

    git config --global user.name "你的用户名"
    git config --global user.email "你的邮箱"
    git config --global core.editor "你习惯的编辑器"
    
  3. 切换到工作目录,执行git init建立git仓库。

  4. 执行git add .把文件纳入跟踪。

  5. 提交修改。

    git commit -m "你的提交信息注释"
    
  6. 推送到git服务器。

    git remote add origin "你的git服务器地址"
    git push origin master