所有分类
  • 所有分类
  • 未分类

git-新建项目并推送到远程(gitlab等)

简介

本文用实例介绍如何新建项目并推送到远程(gitlab等)。

本文的方法适用于所有远程服务,包括:gitlab、gitee、github。

(一般只推送到一个远程即可,本文为了展示,会介绍多种远程git仓库的操作方法,但以gitee为主)。

前提

在此之前,需要先安装git bash,见:Git Bash的安装和使用 – 自学精灵

1.注册远程仓库

下边二选一即可。(gitee比较快,github比较慢)。

2.配置用户名与邮箱

如果以前已经配置过了,此步就不需要再操作了。这里用户名和邮箱是随便填的。(用户名会展示在提交记录里,一般写自己名字的首字母,比如李四:ls。邮箱也是在提交记录里)

使用Git Bash运行如下命令。

法1:全局配置方法

git config --global user.name "用户名"
git config --global user.email "邮箱"

法2:单独配置方法

​有时候,我们想在某个项目里用其他的用户名。比如:在公司里时,有时会修改个人的代码然后提交,想用单独的用户名,不跟公司的项目一样。

git config user.name "Tony"
git config user.email "abc@qq.com"

修改完后,会自动在 (当前目录).git/config文件添加如下内容:

[user]
    name = Tony
    email = abc@qq.com

3.创建 SSH Key

1.创建 SSH Key(用Git Bash运行如下命令)

ssh-keygen -t rsa -C "邮箱"

这个邮箱必须是自己远程仓库的真实邮箱。

2.确认信息

出现提示“Enter file in which to save the key (/c/Users/xxx/.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比较快,github比较慢)。

  • gitee:右上角头像旁边下三角=> 设置=> 安全设置=> “SSH公钥”=> 添加公钥=> 标题(随便写)=> 公钥:输入id_rsa.pub文件内容。
  • github:右上角绿色按钮=> Settings=> SSH keys=> Add SSH key=> “Title”:输名称=> “Key”:输入id_rsa.pub文件内容。

5.创建仓库

  • gitee:https://gitee.com/=> 右上角的“+”=> 新建仓库
  • github:右上角”+”=> New repository=> 填”Repository name”和”Description”=> 点击”Create repository”

以gitee为例:

6.创建git本地仓库

使用Git Bash执行命令。以gitee为例,它很贴心,上一步执行完把命令都展示出来了:

这个命令是通用的,也适用于github或gitlab!对于其他项目,只需要改一下项目名,将下边命令中的“ant-mall”即可。

mkdir ant-mall
cd ant-mall
git init 
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:xxx/ant-mall.git
git push -u origin "master"

上边各个命令的含义

  • mkdir ant-mall:创建一个名为 “ant-mall” 的文件夹(目录)。
  • cd ant-mall:进入到 “ant-mall” 文件夹内。
  • git init:在当前文件夹中初始化一个新的 Git 仓库,用于版本控制。
  • touch README.md:创建一个名为 “README.md” 的空文件。
  • git add README.md:将 “README.md” 文件添加到 Git 的暂存区,准备提交。
  • git commit -m “first commit”:提交暂存区的文件,并创建一个新的提交记录,此处的提交信息为 “first commit”。
  • git remote add origin git@gitee.com:xxx/ant-mall.git:建立本地仓库与远程仓库的关联,将远程仓库 “git@gitee.com:xxx/ant-mall.git” 添加为名为 “origin” 的远程仓库。需要将 “xxx” 替换为你的用户名。
  • git push -u origin master:将本地分支 “master” 的内容推送到远程仓库 “origin”。使用选项 “-u” 将本地分支与远程分支关联起来,以后可以简化推送命令。

7.上传代码

此时就可以使用命令操作了,比如:

  1. git add aa.txt;(将 “aa.txt” 文件添加到 Git 的暂存区(本地仓库))
  2. git commit -m “添加aa.txt文件”;(提交文件,提交信息为:添加aa.txt文件)
  3. 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 仓库,任何人都可以看到(但只有自己才能改)。所以,不要把敏感信息放进去。 ​

0

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录