简介
本文用实例介绍如何新建项目并推送到远程(gitlab等)。
本文的方法适用于所有远程服务,包括:gitlab、gitee、github。
1. 注册远程用户
- gitee:进入Gitee - 基于 Git 的代码托管和研发协作平台 注册
- github:进入GitHub: Where the world builds software · GitHub => 输入用户名、 EMAIL、密码=> Signup for github=> “Free”右边的“Chosen”按钮=> 底部的“Finish sign up”按钮。
2. 配置用户名与邮箱
法1:全局配置方法
git config --global user.name "your_name"
git config --global user.email "your_email"
法2:单独配置方法
修改项目的.git/config文件,添加/修改 如下配置
3. 创建 SSH Key
打开命令行(Windows 下是打开 Git Bash),创建 SSH Key:ssh-keygen -t rsa -C "xxx@qq.com"
出现提示“Enter file in which to save the key (/c/Users/liu/.ssh/id_rsa):”,直接回车表示确定,到如下界面(因为之前生成过了,所以出现Overwrite提示(本处选择n))。若没生成过,一路回车,使用默认值即可。
成功结果:用户主目录下(对于windows,是c:\Users\xxx\)生成.ssh 目录,其下生成 id_rsa 和 id_rsa.pub 两个文件(它们是 SSH Key 的秘钥对。 id_rsa 是私钥,不能泄露; id_rsa.pub 是公钥,可以放心地告诉任何人)。
4. 在远程里添加 SSH Key
- gitee:右上角头像旁边下三角=> 设置=> 安全设置=> “SSH公钥”=> 添加公钥=> 标题(任意)=> 公钥:输入id_rsa.pub文件内容。
- github:右上角绿色按钮=> Settings=> SSH keys=> Add SSH key=> "Title":输名称=> "Key":输入id_rsa.pub文件内容。
5. 创建仓库
- gitee:Gitee - 基于 Git 的代码托管和研发协作平台=> 左下角仓库旁边的“+”=> 创建仓库
- github:右上角"+"=> New repository=> 填"Repository name"和"Description"=> 点击"Create repository"
6. 初始化本地仓库
进入程序的目录,执行:git init。即会在本地创建仓库, 它会在当前目录下生成一个“.git”子目录。
7. 建立本地仓库与远程仓库的关联
先获得远程仓库url:在仓库的“克隆/下载”位置可以找到
例如:git remote add origin git@gitee.com:xxx/Demo.git
8. 上传代码等
此时就可以使用命令操作了:git add, git commit, git push等
注意事项
SSH 警告
当你第一次使用 Git 的 clone 或者 push 命令连接 GitHub 时,会得到一个警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
这是因为 Git 使用 SSH 连接,而 SSH 连接在第一次验证 GitHub 服务器的 Key 时,需要你确认 GitHub 的 Key 的指纹信息是否真的来自 GitHub 的服务器,输入 yes 回车即可。
从现在起,只要本地作了提交,就可以通过以下命令把本地 master 分支的最新修改推送至 GitHub:git push origin master
为什么 GitHub 需要 SSH Key 呢?
因为 GitHub 需要识别出你推送的提交确实是你推送的,而不是别人冒充的。Git 支持SSH 协议,所以, GitHub 只要知道了你的公钥,当你推送的时候,它就能知道这是你,从而允许你推送(这是非对称加密的功能:私钥对数据进行加密,公钥对加密后的数据进行签名验证,可以确定是否是匹配的私钥加密后的数据)。
当然, GitHub 允许你添加多个 Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的 Key 都添加到 GitHub,就可以在每台电脑上往 GitHub 推送了。
友情提示,在 GitHub 上免费托管的 Git 仓库,任何人都可以看到(但只有自己才能改)。所以,不要把敏感信息放进去。