通过git备份和进行迭代项目代码

目录

  1. 1. 1.git工具
    1. 1.1. 1.1 git介绍
    2. 1.2. 1.2 git安装
    3. 1.3. 1.3 git的简单使用
  2. 2. 2.git配置github和gitee
    1. 2.1. 2.1 设置全局用户名和邮箱
    2. 2.2. 2.2 创建ssh key
    3. 2.3. 2.3 在GitHub里面绑定ssh key
    4. 2.4. 2.4 验证
    5. 2.5. 2.5 gitee配置
  3. 3. 3.git工作流程
    1. 3.1. 3.1 新建项目仓库
    2. 3.2. 3.2 克隆远程仓库
    3. 3.3. 3.3 通过https方式进行推送
  4. 4. 4.一些问题的补充
    1. 4.1. 4.1 连接端口超时
    2. 4.2. 4.2 推送报错failed to push some refs to “https://xxxx.git“

在本地进行项目开发时,由于代码需要进行多次迭代,因此备份代码是不可缺少的。因此使用版本控制系统来进行代码备份是很有必要的。本文将介绍有关git配置gitee以及github的相关内容,并对一些问题做出相应解释。

1.git工具

1.1 git介绍

Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。git可以在多种操作系统中安装。通过git可以在本地新建仓库并与远端仓库进行连接。git在本地的工作流程分为工作区 暂存区 版本库,通过这三部分可以对项目进行很好的版本控制与代码迭代。

1.2 git安装

windows安装教程推荐git详细安装教程,这大概是我见过最详细的教程了。


macOS如果安装 Homebrew,可以通过以下命令来安装:

brew install git

也可以前往Git官网下载 macOS 版本的安装包并按照说明进行安装。


Linux通过对应的安装包命令进行安装即可,例如:

sudo apt install git -y

1.3 git的简单使用

git可以通过命令行来进行使用,也可以使用类似Github desktop Git GUI这样的图形化工具来进行使用,推荐先了解了解git的命令再去使用图形化工具,这样可以加深对分布式版本控制系统的理解。git的使用过程不是本文的重点,因此不在此过多赘述,详细的内容推荐通过菜鸟教程网站以及b站相关视频进行学习。
简单常用git命令:

  • git clone repo
  • git add .
  • git commit -m ‘information’
  • git push origin master

2.git配置github和gitee

2.1 设置全局用户名和邮箱

$ git config --global user.name  "name"//用户名
$ git config --global user.email "xxx@xxx.com"//邮箱

这里的用户名和邮箱就是你GitHub的,好像也可以不同,不过提交的时候信息可能会出问题

2.2 创建ssh key

在git bash里面输入如下命令:
$ ssh-keygen -t rsa -C "xxx@xxx.com"
邮箱还是对应的上面的邮箱,输入命令后需要连续三次回车,这样可以设置免ssh密码登录

2.3 在GitHub里面绑定ssh key

上面生成的ssh密钥可以在users/用户名/.ssh文件夹里面找到,点击资源管理器上面的查看显示隐藏文件就可以看到.ssh文件夹了。
复制id_rsa.pub里面的内容,打开GitHub,在Account settings页面选择SSH Keys,添加New ssh keys,名称随意,将复制的公钥内容粘贴进去。

2.4 验证

输入如下命令验证:
$ ssh -T git@github.com
出现提示,输入yes,然后底下出现欢迎信息,即为成功。

2.5 gitee配置

上面介绍的是github的配置,其实gitee的配置也是相似的,这里贴一下官方的教程:gitee配置ssh key

3.git工作流程

3.1 新建项目仓库

首先在你所在的项目的文件下初始化:git init
然后提交到暂存区git add .
然后提交到版本控制区git commit -m "information"
关联本地仓库与远程仓库(可以在仓库页面看到仓库地址,前缀是ssh不是https):
git remote add origin https://github.com/xu-xiaoya/Elegent.git
通过git remote -v查看关联的远程仓库
最后就可以推送了,由于新建的远程仓库是空的,所以要加上-u这个参数
git push -u origin master
之后仓库不是空的,就不用加上-u,这里的作用是关联仓库,一般只使用一次。
git push origin master(这里默认的是本地和远程的仓库分支是一样的,都是master)

3.2 克隆远程仓库

你可以克隆上传的仓库到本地进行管理和修改:git clone repo(注意是ssh那个链接)
此时你的本地仓库自动就关联好了,就可以直接推送了。

3.3 通过https方式进行推送

没错,其实除了ssh的方式,还可以通过https的方式进行推送,这就是为什么上面叫你用ssh的方式绑定远程仓库了,如果你想通过https也是可行的,当你推送的时候会弹出身份验证,一般是叫你输入gitee的账号和密码,github在2022年禁止了这种验证方式,因此你需要去GitHub设置token才能通过https进行推送。

4.一些问题的补充

4.1 连接端口超时

ssh: connect to host github.com port 22: Connection timed out
当出现如上错误时,可能是由于以下原因:
1.自身网络问题,GitHub可能暂时无法连接,建议检查自己的网络,可以ping测试
2.网络端口未开放,这种情况需要指定连接的端口,可以指定443端口来试试:
编辑或创建~/.ssh/config文件,添加如下内容:

Host github.com
Hostname ssh.github.com
Port 443
User git

4.2 推送报错failed to push some refs to “https://xxxx.git

出现这种情况,你可以试试拉取仓库内容,先同步一下,再push推送,因为有一种很经典的情况就是远程仓库有README文件,而本地没有,这时就会报错。
输入git pull --rebase origin master来同步远程仓库和本地仓库,然后git push