CONTENTS
- 1. Git
- 创建账户
- 2. Github
- 2.1 创建账户
- 2.2 建立仓库(Repository)
- 3. Git - Github
- 3.1 SSH key
- 3.2 建立本地仓库
- 3.3 连接本地仓库和远程仓库
- 3.3 提交文件/改动
- 4. 同步远程仓库到本地
- 5. 其他
- 本地仓库名称混淆
- 删除本地仓库记录
Linux下,使用Git同步本地仓库与Github远程仓库,实现版本管理。
1. Git
首先,你的linux上需要有git。一般linux系统各发行版都会自带git,无需手动安装。任意文件夹下打开终端,bash输入
git
应当出现如下界面:
如果系统提示没有git,手动安装。应用商店或者下载安装均可。
创建账户
git config --global user.name "<your name>"
git config --global user.email "<your email address>"
<your name> 替换为自定义用户名,引号要保留。从此,在这个电脑上向github远程仓库提交改动时,github就会记录这个用户名作为改动的提交者。
<your email address> 替换为你的邮箱地址,引号保留。
2. Github
github是一个代码托管平台,可以免费使用其提供的代码托管服务。使用github的远程仓库(repository)存放代码,协同工作。
2.1 创建账户
首先你需要有一个github的账户。没有的话github注册一个。
只需要邮箱,不用手机号,点名好评!这年头不用手机号就能注册的平台不多了。
友情提示,github的username可以改,但改了以后会比较麻烦,所有以此用户名建立的设置都要更改。保险起见,不要用会让自己后悔的username。
2.2 建立仓库(Repository)
要把代码放在github上,首先需要在github上创建仓库。github会给创建的仓库分配一个远程地址,之后就通过这个地址向github的仓库中存放代码。
建立仓库照提示操作,README文档可以让别人方便地了解这个仓库是干啥的,不愿意写也可以不要。
如果新建仓库时没有勾选自动创建README,那么仓库新建完成的时候,会看到这样的页面
这里,其实已经说明了如何用git将本地的代码文件上传至github。
3. Git - Github
3.1 SSH key
ssh key是git与github建立连接的凭证。linux发行版一般都会自带ssh key工具。终端输入
ssh-keygen -t rsa -C "<your email address>"
系统提示确认路径和密码啥的,不必在意,一路回车。最后会出现一个符号构成的矩形图案。ssh key创建成功。
这时,一般会在 ~/目录下创建 /.ssh文件夹,可以直接从终端或者文件管理器(地址栏直接输入~/.ssh)进入该文件夹。文件夹下有 id_rsa 和 id_rsa.pub两个文件,无后缀名的文件为私钥,后缀名为.pub的文件为公钥。打开id_rsa.pub复制全部内容。
进入github账户,进入 Settings,左侧找到 SSH and GPG keys 选项卡,添加 New SSH key。title只是ssh key的标签,名字可以任意取,key值中粘贴id_rsa.pub的全部内容,Add SSH key。
验证连接是否成功建立,终端输入
ssh -T git@github.com
第一次会有确认提示,肯定即可,之后会出现提示You’ve successfully authenticated, but GitHub does not provide shell access. 连接成功。
3.2 建立本地仓库
可以直接复制已有的远程仓库到本机。远程仓库的地址如下单击地址旁边的小图标,即可复制地址到剪贴板。
进入你想要建立本地仓库的文件夹,在此处打开终端,输入
git clone repo
repo为要复制的远程仓库的地址。这样,git会自动下载该仓库的全部内容到该文件夹下。
也可以新建一个空文件夹作为本地仓库,从零开始。
在本地仓库的文件夹下,进入终端
git init
初始化文件夹为本地仓库
3.3 连接本地仓库和远程仓库
本地仓库文件夹下,终端输入
git remote add origin <remote repo>
or
git remote add <local repo> <remote repo>
<local repo> 是为本地仓库起的名字。一般取名为origin。<remote repo> 是远程仓库的地址,可在github上找到。
3.3 提交文件/改动
在本地仓库文件夹中新建/修改了某文件,将修改同步到远程仓库。
首先,将改动文件添加到提交队列。在本地仓库文件夹下进入终端,使用如下命令添加需要提交的文件
git add <file name/address>
我采用提交整个仓库的做法
git add ./*
git会自动检查哪些文件有修改,比较方便。
接下来将改动(文件)提交到本地仓库
git commit -m "<description>"
<description>是对本次提交的说明,简单说说这次改了什么。
这时改动被提交到本地仓库。要将本地仓库的改动同步到远程仓库
git push origin master
or
git push -u <local repo> <branch name>
因为前面已经将本地仓库与远程仓库建立了关联,所以这里不需要说明将本地仓库的内容提交到哪个远程仓库(如果需要修改本地仓库与远程仓库的连接,可以先删除已有的本地仓库的命名,然后建立新的仓库关联)。<branch name> 是远程仓库的分支名。默认为master主分支。可改为其他分支。
4. 同步远程仓库到本地
远程仓库被修改,同步更新本地仓库
git pull <local repo> <repo branch name>:<local branch name>
将远程仓库的<repo branch name>分支与本地仓库<local repo>的<local branch name>分支合并。
如果本地仓库没有其他分支,也可以省略
git pull <local repo> <repo branch name>
5. 其他
本地仓库名称混淆
查看本地仓库名录,以及删除指定仓库名
git remote -v
git remote remove <local repo>
删除本地仓库记录
某文件夹不再做为本地仓库使用,将其脱离git,只需删除该文件夹下的./.git文件夹。
rm -rf ./.git