1. github代码管理方式
越来越多人会选择github平台来管理项目及相关代码,主要分为两种方式。
- 最简单粗暴的方式就是直接菜单栏上传,如下图所示,可以直接新建文件或上传。
![](https://i-blog.csdnimg.cn/blog_migrate/d52fe71b358675710e6e3849b14dc6ca.png)
- 使用git命令管理github
首先建立本地git库,再将本地库和远程库做关联,更高效且实时地管理远程库。
2. 安装并配置git
2.1 安装git
该类教程很多,此处仅简单介绍mac系统使用homebrew安装git。
# 1. 首先检查是否已安装git,列出来brew已安装好的库,检查是否有git
brew list
# 2. 安装git
brew install git
2.2 配置git
- 设置username和email(github每次commit都会做记录)
# cdd和824795955@qq.com分别为我设置的名字和邮箱
git config --global user.name "cdd"
git config --global user.email "824795955@qq.com"
- 通过终端命令在本地创建ssh key
ssh-keygen -t rsa -C '824795955@qq.com'
会得到以下输出,需要确认路径和密码(其中密码默认为空,直接回车)。
![](https://i-blog.csdnimg.cn/blog_migrate/581e63afcd75aee4754e15aeb8e5a323.png)
ssh key创建成功后,会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
- 链接验证
验证是否可以通过ssh key将本地库与github的远程库做连接。
ssh -T git@github.com
验证结果如下图,已成功通过身份验证,但GitHub不提供shell访问,原因是目前还没有任何库配了该密钥,但是github的远程连接已经搞定!
![](https://i-blog.csdnimg.cn/blog_migrate/a0849ab28e429e2921edbb6603d85362.png)
3. 创建本地库
- 第一步:在合适的路径,新建一个文件夹(该文件夹内的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。)
$ mkdir cdd_git
$ cd cdd_git
$ pwd
/Users/cdd/cdd_git
- 第二步:把该文件夹变成git可以管理的库
$ git init
Initialized empty Git repository in /Users/cdd/cdd_git/.git/
Git仓库已经建好,并且是一个空的仓库(empty Git repository)
- 第三步:在仓库目录/子目录路径下(本例中为:/Users/cdd/cdd_git)新建或复制文档 (本例文档为file.md)
- 第四步:将file.md文件添加到git仓库,并提交。
- 使用git add 向仓库中添加文档
$ git add file.md
- 使用git commit提交文档;-m 后为本次commit的说明,方便将来查看。
$ git commit -m 'commit an import file'
[master (root-commit) 612b72c] commit an important file
1 file changed, 2 insertions(+)
create mode 100644 file.md
4. 关联本地库与远程库
打开github上需要与本地关联的库,复制git地址:git@github.com:ddche/PFBNet.git
。
![](https://i-blog.csdnimg.cn/blog_migrate/8b02b8c831ba550cca374e1cd5d7dca0.png)
执行以下命令连接远程库,添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
$ git remote add origin git@github.com:ddche/PFBNet.git
5. 本地库与远程库互传文档
git管理文档,主要分为git push
和git pull
两部分,其中,git push
将本地库文档上传到远程库,git pull
将远程库文档载到本地库。
$ git push -u origin master
- 注意:如果远程库原本有文档,不是空的!一定要先保证本地的代码和服务器代码一致!执行如下命令,然后再push。
git pull --rebase origin master
撒花完结!