Git(六)远程仓库

1.GitHub远程仓库

1.1首先你得在github上创建一个账号,然后在github上创建一个仓库:

  1. 登录成功之后点击首页右上边的,New按钮(如下图所示)
    在这里插入图片描述
  2. 页面跳转到新建仓库的页面
    在这里插入图片描述
  3. 根据上图提示,填完仓库名字之后点击Create repository 按钮创建仓库,页面跳转到仓库首页。
  4. 在仓库的首页 可以看到,Github支持两种同步方式“https”和“ssh”。如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。而且如果是公司配置的私有git服务器一般不提供https方式访问,所以我们着重讲“ssh”方式。
  5. 在windows下我们可以使用 Git Bash.exe来生成密钥,通过开始菜单或者任意位置右键菜单打开Git Bash窗口,执行命令: ssh-keygen -t rsa 生成公钥和私钥
    在这里插入图片描述
  6. 执行命令完成后,在window本地用户.ssh目录C:\Users\用户名.ssh下面生成如下名称的公钥和私钥,如下图:
    在这里插入图片描述
  7. 密钥生成后需要在github上配置密钥本地才可以顺利访问
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.同步到远程仓库

2.1使用Git Bash

  1. 在仓库所在的目录右键选择“Git Bash Here”,打开Git Bash窗口。
    在这里插入图片描述

2.2使用TortoiseGit同步

  1. 配置TortoiseGit
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Url:远程仓库的地址
    推送URL:也是相同的
    Putty密钥:选择刚才生成的密钥中的私钥
  2. 同步。在本地仓库的文件中单击右键,选择“Git同步”
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    注意:如果推送有error,可以选择强制Force。

3.从远程仓库克隆

克隆远程仓库也就是从远程把仓库复制一份到本地,克隆后会创建一个新的本地仓库。选择一个任意部署仓库的目录,然后克隆远程仓库。

3.1使用git bash:

$ git clone git@github.com:DiamondXue/GitTest.git
在这里插入图片描述

3.2使用TortoiseGit:

在自己的指定目录点击右键然后按照下图所示点击Git克隆
在这里插入图片描述
在这里插入图片描述

4.从远程仓库取代码

Git中从远程的分支获取最新的版本到本地有这样2个命令:

  1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge(合并代码)
  2. git pull:相当于是从远程拉取最新版本并merge到本地
    上述命令其实相当于git fetch 和 git merge
    在这里插入图片描述
    在这里插入图片描述
    在实际使用中,git fetch更安全一些,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
    如果使用TortoiseGit的话可以从右键菜单中点击“拉取”(pull)或者“获取”(fetch)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5.如何github上给别人的项目提交PR

5.1 fork

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 clone

Thinkpad@Thinkpad-PC MINGW64 /e/GitStudy/forktest2 (master)
$ git clone git@github.com:DiamondXue/BigData.git
Cloning into 'BigData'...
remote: Enumerating objects: 226, done.
remote: Total 226 (delta 0), reused 0 (delta 0), pack-reused 226
Receiving objects: 100% (226/226), 427.31 KiB | 16.00 KiB/s, done.
Resolving deltas: 100% (55/55), done.

用git remote -v命令,可以看到此时只与自己的远程仓库建立了连接
还需要与上游建立连接,这里上游指的是一开始 fork 的那个项目源,以 BIgData为例,执行如下命令:

Thinkpad@Thinkpad-PC MINGW64 /e/GitStudy/forktest2/BigData (master)
$ git remote -v
origin  git@github.com:DiamondXue/BigData.git (fetch)
origin  git@github.com:DiamondXue/BigData.git (push)

Thinkpad@Thinkpad-PC MINGW64 /e/GitStudy/forktest2/BigData (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

nothing to commit, working tree clean

Thinkpad@Thinkpad-PC MINGW64 /e/GitStudy/forktest2/BigData (master)
$ git remote add upstream git@github.com:ruozeata/BigData.git

Thinkpad@Thinkpad-PC MINGW64 /e/GitStudy/forktest2/BigData (master)
$ git remote -v
origin  git@github.com:DiamondXue/BigData.git (fetch)
origin  git@github.com:DiamondXue/BigData.git (push)
upstream        git@github.com:ruozeata/BigData.git (fetch)
upstream        git@github.com:ruozeata/BigData.git (push)

5.3 创建分支修改代码并推送

在这里插入图片描述

5.4 在页面上创建pr

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值