Git- 连接远程仓库

  如何使用Git 连接远程仓库呢?远程仓库->一般指的是代码托管平台。那就先来瞅瞅三个较熟悉的版本(代码)托管服务平台。

 

版本(代码)托管服务平台:

码云(gitee.com):是开源中国社区团队推出的基于Git的快速的、免费的、稳定的在线代码托管平台,不限制私有库和公有库数量.

Coding(coding.net): 是CODING 旗下的一站式开发平台,提供 git/svn 代码托管,免费支持私有库(限定)和公有库

github(github.com):是全球最大的开源社区,基于git的版本托管平台。私有库需要付费,访问速度慢。

 

前提准备:

1.git工具的下载和安装(一直next就行了)。 下载 >>> 

2.github/码云/Coding上进行注册。  码云>>> coding>>>   github>>>

前提准备好了就可以开始进行Git与远程仓库的连接,这里以github为例。

 

一、Git的配置

1.设置用户名和邮箱(--global 为全局参数,表明本地所有Git仓库都会使用这个配置)

git config --global user.name "yourname"

git config --global user.email "your_email@youremail.com"

2.生成密钥(SSH key)

ssh-keygen -t rsa -C "your_email@youremail.com"
# github 在2022/3/15后,放弃rsa算法。使用 ed25519 算法
ssh-keygen -t ed25519 -C 'your_email@email.com'

3.添加密钥(SSH key),并验证是否成功

添加密钥:将上一步骤生成的密钥即.ssh/id_rsa.pub中内容全部复制。在github的 Settings-->SSH and GPG keys-->New SSH key,key中粘贴复制的内容(Title自定义)。

验证:github输入第一条的命令,码云输入第二条

a.ssh -T git@github.com

b.ssh -T git@gitee.com

二、创建项目工程

1.远程仓库:在github中New repository 输入Repository name。[例如:TestDemo]

2.项目工程:在自己本地电脑上新建一个与github新项目工程同名的文件夹。[例如:TestDemo]

三、创建版本库

 进入步骤二中的文件夹下,输入以下命令初始化仓库,若出现:Initialized empty Git repository in E:/** /**/.git/ 则表示创建成功[注意:此时会生成一个.git目录(隐藏目录)]

git init

四、连接远程仓库(下面两种方式都可以)

git remote add origin git@github.com:yourName/repositoryname.git
git remote add origin https://github.com/yourName/repositoryname.git

五、从远程仓库pull文件(若远程仓库没有文件,直接执行步骤六)

git pull origin master

六、将本地文件push到远程仓库(若没有文件则手动创建)

git status          查看工作目录的状态

git add <file>        将文件添加到暂存区

git commit -m "commnet"   提交更改,添加备注信息(此时将暂存区的信息提交到本地仓库)

git push origin master    将本地仓库的文件push到远程仓库(若 push 不成功,可加 -f 进行强推操作)

 注: 至此已经完成了 远程与本地仓库的配置,若需要单独配置可见以下操作

七、生成多个密钥(多个账户)配置不同的远程仓库【账号配置为局部变量】

 

a.添加新的ssh-key
# 如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent;可执行ssh-agent bash命令后再执行ssh-add命令
ssh-add .ssh/id_rsa_github
ssh-add .ssh/id_rsa_gitee
 
b.配置config文件。文件内容如下(在./ssh目录下若没有config文件则创建):
# 配置 github
Host github.com
  HostName github.com
  IdentityFile C:\\Users\\zzw\\.ssh\\id_rsa_github
  PreferredAuthentications publickey
  User ZeroBound

# 配置 gitee
Host gitee.com
  HostName gitee.com
  IdentityFile C:\\Users\\zzw\\.ssh\\id_rsa_gitee
  PreferredAuthentications publickey
  User zhzw
 
c.到github或码云上添加密钥,之后验证是否成功
1.ssh -T git@github.com
2.ssh -T git@gitee.com
 
d.进入仓库目录配置用户名和邮箱
git config user.name "yourname"
git config user.email "your_email@youremail.com"

 

  

 

 

 

八、相关问题

Q1git pull origin master 无法进行pull,出现如下提示

git pull origin master
fatal: unable to access 'https://github.com/yourName/Demo.git': error setting certificate verify locations:
  CAfile: G:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
  CApath: none

分析:ca-bundle.crt文件是证书文件。根据提示CApath:none 没有该文件,所以无法访问远程仓库

解决:修改为正确路径 或者 将证书验证设置false

git config --system http.sslcainfo E:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
git config
--system http.sslverify false

 Q2.git pull origin master 出现如下提示:

fatal: refusing to merge unrelated histories

解决:如下操作即可解决

git pull origin master --allow-unrelated-histories

Q3.每次git push origin master 时都需要输入用户名和密码:

 因为配置的时候使用的是https协议,所以每次都需要输入.。可以通过两种方式免密

# 第一种方式。改成 ssh 方式,也可以一条命令解决
git remote set-url origin git@github.com:yourName/repositoryname.git
# 上述命令效果与以下命令等同
git remote -v  查看远程连接

git remote rm origin  删除远程连接

git remote add origin git@github.com:yourName/repositoryname.git



# 第二种方式。通过配置设置 https 免密码输入
git config --global credential.helper osxkeychain
 
 
posted @ 2018-02-06 23:19  zeotoone  阅读(108484)  评论(0编辑  收藏  举报