文章目录


GitHub 操作

GitHub 网址:https://github.com/

一、创建远程仓库

首先登录到自己的github账号上,在首页右上角 + 的下拉菜单中选择第一个New repository:

【Git】GitHub 操作_本地库

【Git】GitHub 操作_本地库_02

一般我们的远程库名称和本地库保持一致,所以我们远程库就命名为git-demo,然后添加库的描述,选择库为公共仓库,最后确认创建:

【Git】GitHub 操作_远程库_03

创建完成后,会有提示信息,如下图即可:

【Git】GitHub 操作_远程库_04

返回顶部


二、创建远程库别名

首先我们,在提示信息中复制仓库的地址链接(http:https://github.com/Code-for-dream/git-demo.git):

【Git】GitHub 操作_本地库_05

此操作是先初始化本地库,然后与已创建的远程库进行对接

  • 命令: git remote add <远端名称> <仓库路径>
  • 远端名称,默认是origin,取决于远端服务器设置
  • 仓库路径,从远端服务器获取的仓库URL

其实这里起别名更确切的说是创建本地库和远程库的连接,使用命令git remote -v可以查看当前本地库的连接。

【Git】GitHub 操作_远程库_06

  • ​fetch​​ 用于拉取远程库
  • ​push​​ 用于推送本地库

返回顶部


三、推送本地分支到远程库

命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]

  • 如果远程分支名和本地分支名称相同,则可以只写本地分支
  • ​git push origin master​
  • -f 表示强制覆盖
  • --set-upstream 表示推送到远端的同时并且建立起和远端分支的关联关系。
  • ​git push --set-upstream origin master​
  • 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
  • ​git push​​​ 将​​master​​分支推送到已关联的远端分支。

首次推送需要认证,界面如下:

【Git】GitHub 操作_git_07

可以使用浏览器的账号或者使用Token,这里我们直接选择浏览器账号即可:

【Git】GitHub 操作_远程库_08

进一步确认密码,直接输入密码:

【Git】GitHub 操作_github_09

创建连接后,又报错,说主机上的程序关闭了连接,并弹出了窗口,试着填写信息:

【Git】GitHub 操作_github_10

最后还是报错,一看发现密码认证方式失效了,然后使用Token认证​参见博客:Git报错token认证​)就可以了:

【Git】GitHub 操作_git_11

查看远程仓库中,已经存在hello.txt文件,说明推送成功!

【Git】GitHub 操作_github_12

返回顶部


四、拉取远程库到本地库

拉取 命令:git pull [remote name] [branch name]

  • 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
  • 如果不指定远端名称和分支名,则抓取所有并更新当前分支。

【Git】GitHub 操作_github_13

可以看到在网页端我们也可以查看库中的文件内容,如果点击右侧笔,还可以进行编辑,并且最后还可以进行提交:

【Git】GitHub 操作_本地库_14

默认master分支提交后,可以发现内容已经发生改变:

【Git】GitHub 操作_远程库_15

**此时,我们需要在本地拉取到刚刚网页上修改好的文件: **

【Git】GitHub 操作_github_16

可以看到本地库的文件内容已经发生了改变:

【Git】GitHub 操作_本地库_17

并且查看git日志的时候,可以查到网页的提交信息:

【Git】GitHub 操作_本地库_18

返回顶部


五、克隆远程仓库到本地

如果已经有一个远端仓库,我们可以直接clone到本地。

  • 命令: git clone <仓库路径> [本地目录]
  • 本地目录可以省略,会自动生成一个目录

我们在本地创建一个新的空文件夹,用于存放克隆下来的远程仓库:

【Git】GitHub 操作_本地库_19

复制我们的远程仓库的网页链接地址:

【Git】GitHub 操作_本地库_20

在当前目录下打开git,使用git命令进行克隆:

【Git】GitHub 操作_远程库_21

完成后,在git-clone目录下就会生成git-demo目录及其内容:

【Git】GitHub 操作_远程库_22

并且clone操作会做如下操作;

  1. 拉取代码
  2. 初始化本地仓库(.git)
  3. 创建别名

【Git】GitHub 操作_git_23

返回顶部


六、SSH免密登陆

可以看到,在我们获取仓库地址的时候除了https地址外,还有一个​SSH链接地址​,同样可以使用,在配置了​SSH​之后,我们接下来再往远程仓库 ​push​ 东西的时候使用 ​SSH​ 连接就不需要登录了。

【Git】GitHub 操作_git_24

配置SSH很简单,来到我们当前的电脑用户目录下,打开git bash,执行命令 ssh-keygen -t rsa -C github用户邮箱,然后回车三次,就可以生成非对称秘钥对:

【Git】GitHub 操作_github_25

在用户目录下生成的.ssh文件夹中打开​.pub​公钥文件,并且复制全部内容:

【Git】GitHub 操作_远程库_26

github​setting​里找到​SSH and GPG keys​

【Git】GitHub 操作_git_27

点击New SSH key

【Git】GitHub 操作_github_28

将公钥文件中的内容全部复制进去,名称随便起:

【Git】GitHub 操作_本地库_29

SSH配置完成:

【Git】GitHub 操作_git_30

我们在git上面新创建文件​git.txt​,然后复制仓库的​SSH地址​,在本地进行拉取查看文件内容:

【Git】GitHub 操作_github_31

可以看到,首次使用SSH需要我们确认一次,然后找到拉取的​git.txt​,获取内容:

【Git】GitHub 操作_本地库_32


【Git】GitHub 操作_github_33

同样的,在我们克隆的仓库里,拉取时不用再确认和认证:

【Git】GitHub 操作_远程库_34

返回顶部