在一切开始之前,先推荐一个git简易工具书——Git_Cheat_Sheet,非常适合新手。自行搜索即可,也有热心者提供了中文版。
一、下载 Git
1. 从Git官网下载Git安装包
注意不要下成 GUI,点击官网首页电视里的下载即可。
2. 双击安装包安装
根据自己的需要配置,若是一直点下一步也没有问题。
二、配置 Git 环境变量(可选)
配置环境变量后,打开 cmd 输入 git 便可直接运行。但直接使用 git-bash 也是不错的选择。
我的 git 安装完成后就自己配置好了环境变量。如果没有自动配置的话,可以找到 git 安装路径下的 cmd 文件夹(默认为<code>C:\Program Files\Git\cmd</code>),复制该路径。
将改路径添加至系统环境变量。打开文件资源管理器,右键点击左侧的此电脑->属性->高级系统设置->环境变量->在下方系统变量中找到 path ->选中 path 并选择编辑->新建->将刚才的路径复制到其中->保存退出。
三、生成并配置 SSH 密匙
1. 系统生成 SSH 密匙
打开 git-bash,这里要执行三条命令。
git config –global user.name "你的用户名"
git config –global user.email "你的@邮箱.com"
ssh-keygen -t rsa -C "你的@邮箱.com"
- 前两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。可用 <code>git config --list</code> 来查看已有配置。
- 第三条配置用来生成密匙,提示的是给 key 配置一个 password,可以为空,所以按三次回车,不设置密码,之后正常情况下就会生成成功。
SSH 公钥和私钥都被保存在提示的文件夹中,我们需要的是公钥,如图为 <code>C:\Users\83505.ssh\id_rsa.pub</code>。
2. 在 github 中配置 SSH 密匙
打开 github 并登陆,点开右上角个人头像,打开 Settings。选择左边 SSH and GPG keys 标签,在 SSH Keys 一栏右边点击 New SSH Key。
- Title 自己填一个,可考虑用来标识本台计算机。
- 用记事本打开刚才提到的 id_rsa.pub 公钥文件,把所有内容复制粘贴到 Key 中。
点击 Add SSH Key,可见多了一个 SSH key,添加成功。
四、上传项目至 github
1. 初始化本地仓库
打开终端,选择一个文件夹作文本地仓库,进入该文件夹下,执行命令:
git init
返回 “Reinitialized existing Git repository in 文件路径” 即为初始化成功。
2. 将你的 github 远程端连接到本地仓库
- (不必要)查看当前的远程库。执行命令:
git remote -v
可以查看当前的远程库及其对应的克隆地址。 - 添加一个远程库。要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用。执行:
git remote add [库名] [仓库网络地址]
Example: git remote add Planegame https://github.com/BIUSekale/Planegame.git
仓库网络地址可在github仓库中的Clone or Download中复制。
3. 将远程端版本合并到本地版本中
由于是首次执行,本地版本甚至没有 master 分支,需要更新本地版本使之与远端同步。执行命令:
git pull [库名] master
即可将远端的 master 分支合并到本地。若无这一步,系统会报以下错误:
error: src refspec master does not match any.
error: failed to push some refs to '仓库网络地址'
PS:此步骤会生成一个 .git 文件夹用来做版本控制;另外会有一个 .gitignore 文件,用来排除一些不想上传的文件。
4. 向 git 添加文件
将你想上传的文件放置于当前文件夹下,执行命令:git add <file>
或者 git add .
以此来添加单个文件或一次添加所有文件。之后可执行 git status
命令来检查你刚才添加的文件是否确实添加到位。
5. 提交刚才添加的文件到本地版本库,并加上注释
执行命令:
git commit -m "注释信息"
该注释信息是你这次版本更新的备注信息,最终会显示在 github Repository 文件列表对应的项目后。
6. 将本地仓库内容上传
执行命令:
git pull [库名] master (分支名)
输入github的账号密码后,系统返回上传进度,上传成功。
若步骤3未及时执行,会导致版本冲突,报错如下:
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:BIUSekale/test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
可以在步骤6时执行强制上传命令:
git pull [库名] master -f
但是原来网络端master分支的文件会被全部替换,要谨慎使用。所以也可以选择重新 git init 重头再来。