极端条件下的GitHub连接
有时候,对于高校的研究生,他们需要或者不得不使用学校的服务器。在这种条件下,对学生而言,往往是一个人有一个独立账号;但是也有一些例外情况,比如某一位精明能干的博士生手下有好多本科生。这样一来,情况就不一样了,因为本科生,特别是做交流的本科生,往往是没有服务器账号的。如此一来,他们就只能好几个人使用一个服务器账号了。绝大多数条件下,这是没有问题的,但是如果希望使用 git 和 GitHub 来管理和提交自己的代码,这要怎么办?也就是说,在一个设备的一个账号下,多个研究人员要怎么合理的使用自己的git和GitHub?🎈
可惜的是,这样的问题或许太过小众,这样的工况太过极端;以至于鲜有人仔细考虑。有些时候,为了省事同学们甚至是直接使用ssh在本地机器和学校服务器之间传递代码。为了解决这个问题,在博主掉了 114514 根头发之前>﹏<,写好了这个帖子,以飨读者。
创建个人工作目录
这里假设同学们已经成功登录了服务器
首先在共享账户下创建您的个人工作目录,这里的共享账号往往就是用户文件夹,但是有时候是指定好的一个文件夹,这个根据不同学校和实验室的要求各有不同。
1 | mkdir ./myname_workspace |
将myname
替换为您的标识符,比如我就可以使用jack
作为自己的标识符。
配置Git
在您的工作目录下创建Git配置文件:
1 | # 注意,这时候应该在 myname_workspace 中 |
编辑此文件,添加您的Git配置:
1 | [user] |
设置SSH密钥
生成SSH密钥对
1 | # 注意,这时候应该在 myname_workspace 中 |
配置SSH
创建或编辑.ssh_myname/config
文件:
1 | Host github.com-myname |
添加公钥到GitHub
查看并复制公钥内容:
1 | # 注意,这时候应该在 myname_workspace 中 |
将公钥添加到您的GitHub账户设置中。
更新代理
添加SSH密钥到SSH代理:
1 | eval $(ssh-agent -s) # 确认代理在正常的工作 |
开始工作
在更新代理结束后,一般来说就可以正常的工作了,此时 git 的操作也和平时没有区别了🎉。可以 clone 一个私人文件测试是不是成功。如果发生意外,可以再次更新代理后尝试。
提示
请注意这里的文件的路径,都是在自己的工作目录下进行操作,不要不小心跑到了共享账户,一般就是 home
,里面了🤣。