(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库

目录

  • 1.前言
  • 2.准备工程项目
    •  (1)创建AndroidStudio工程项目
  • 3.初始化工程项目为Git本机版本库
  • 4.提交工程项目到Git本机版本库
    • (1)Add添加文件
    • (2)Commit提交文件
  • 5.Git本机版本库Push推送Github远程仓库​​​​​​​​​​​​​​​​​​​
    • ​​​​​​​​​​​​​​(1)注册Github账户
    • (2)创建Github远程版本库
    • (3)获取Github版本库URL地址
    • (4)pull发生错误:refusing to merge unrelated histories
    • (5)解决pull错误:强制允许不相关历史分支合并
      • ​​​​​​​​​​​​​​步骤一:git remote -v
      • 步骤二:Manage设置URL地址
      • 步骤三:再次git remote -v
      • 步骤四:强制​​​​​​​合并​​​​​​​分支git pull origin master --allow-unrelated-histories
    • (6)TortoiseGit中再次使用pull获取分支建立版本库连接关系
    • (7)push推送Git本机版本库至Gihub远程版本库
  • 6.Github检测Push推送成功的工程项目
  • 7.总结

1.前言

        本章介绍使用TortoiseGit客户端的把Git本机版本库管理的工程项目推送Github远程版本库上。

        本章用到Git Bash命令行操作Github,因此需要提前配置Git本机客户端与Github服务器的SSH,使得密钥对匹配,使用Git Bash生成ssh-rsa及Github服务器中配置ssh key教程,传送门链接:

        (Git/Github笔记)Git Bash生成ssh-rsa

          CSDN链接:https://blog.csdn.net/qq_39038178/article/details/119433916

        另外推荐:GUI工具 TortoiseGit 2.12.0 安装和配置+OpenSSH配置Github​​​​​​​,传送门链接: 

        (Git/Github笔记)GUI工具 TortoiseGit 2.12.0 安装和配置+OpenSSH配置Github

          CSDN链接:https://blog.csdn.net/qq_39038178/article/details/119363867


2.准备工程项目

        这里我使用AndroidStudio创建项目实践Git使用,用其它IDE工具创建项目是可以的,例如:IDEA、Pycharm、Eclipse等开发工具,创建工程项目都能作为准备上传到Github的工程项目。

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第1张图片

        说明:在电脑桌面“Dekstop”创建一个名称为“GitNavigation” 的工程项目。


3.初始化工程项目为Git本机版本库

        现在,项目已经准备就绪,怎么上传到Github呢?需要注意的是,此时的“GitNavigation” 工程项目,仅为一个不是使用Git版本库管理,普通的AndroidStudio工程项目,也就不具备上传到Github的资格功能。那么,就要使得GitNavigation” 工程项目,转换Git版本库管理的项目,就具备Git版本控制系统功能特性

        (1)在找到GitNavigation工程项目——选择点击Git Create respository here...

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第2张图片

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第3张图片

        (2)工程目录自动生成的“.git”目录

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第4张图片


4.提交工程项目到Git本机版本库

        当前项目具备使用Git功能特性,但此时管理项目的“.git”目录,没有检测到工程项目的资源信息,【通俗理解:你(工程项目)又不是我(Git本机版本库)女朋友,去酒吧蹦迪我(Git本机版本库)凭啥要管你(工程项目)】,因此两者要建立联系(发生关系)才有资格管!需要先把“GitNavigation” 工程项目全部资源文件添加至Git本机版本库中,然后进行commit提交,如下:

        提交工程项目到Git本机版本库工程项目分为两个步骤

        步骤一:把需要添加的文件进行:Add添加至Git本机版本库(git add 文件名

        步骤二:commit提交处理Add添加的文件至Git本机版本库(git commit - m "备注提交信息"

        (1)右击GitNavigation工程项目:TortoiseGit——+ Add...

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第5张图片

        (2)打勾Select/deselect all——OK——Success (453 ms @ 2021/8/6 21:32:54)

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第6张图片

         (3)目录变化处于commit提交状态红色感叹号!不是最新版本Git本机版本库——蓝色加号+  已添加且处于待commit提交状态

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第7张图片

        (4)commit提交至Git本机版本库:右击GitNavigation工程项目——Git commit -> "master"...(mastet是Git本机版本库默认的master主分支,也可以自定义创建分支以及重命名分支的名称

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第8张图片

        (5)核查提交清单——Commit——Success (375 ms @ 2021/8/6 21:56:28)——close

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第9张图片

        (6)commit提交工程项目和文件图标变为打勾绿色图标——即Git本机版本库最新版本

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第10张图片


 5.Git本机版本库Push推送Github远程仓库

        到这里,学会Git本机版本库的基本使用流程了,可是在本机电脑管理工程项目远远不满足开发需求,因此需要Git版本库上传到Github,这样一来,任何电脑连接互联网,直接从Github远程仓库中下载工程项目到当前电脑使用,进行项目开发。

        在这之前,必须注册属于自己的Github账户,Github官方地址https://github.com/

        (1)创建一个Github远程版本库,命名为:“GitNavigation”——默认主分支:master

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第11张图片


  (2)获取“GitNavigation”远程仓库的URL地址,作用于Git本机版本库与Github远程仓库建立连接,获取方式如下:

        获取URL:code——SSH——点击图标复制——出现copied

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第12张图片


        (3)使用TortoiseGit客户端上传Git本机版本库的“GitNavigation”工程项目到Github,如下:

        右击工程项目:Git sync...(同步Git和Github版本库)

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第13张图片


        (4) push上传之前,使用pull获取Github远程版本库信息以及​​​​​​​分支的合并(本机master和远程master),并且两者建立连接。

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第14张图片

        很遗憾,Pull获取发生错误:​​​​​

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第15张图片

        错误分析:

        原因一:创建Git远程版本库时,勾选添加了一个工程项目说明文件README.md在master主分支;Git本机版本库管理的工程项目目录中并没有Github远程版本库中的说明文件README.md​​​​​​​

        原因二:两个master分支是两个不同的版本,具有不同的提交历史。一个有说明文件README.md​​​​​​​,一个没有说明文件README.md​​​​​​​,因此使用pull建立关系进行master合并分支时,就会发生如下错误:

fatal: refusing to merge unrelated histories

致命的:拒绝合并不相关的历史 


(5)解决方案:强制允许不相关历史分支合并项目工程右击空白处——Git Bash here,使用命令——git pull origin master --allow-unrelated-histories,如下:

        步骤一:使用命令——git remote -v(查看远程仓库URL地址详细信息,可以看到仓库名称)

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第16张图片

        步骤二:设置Github远程版本库URL地址——Manage

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第17张图片

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第18张图片

        步骤三:再次使用命令——git remote -v(查看远程仓库URL地址详细信息,可以看到仓库名称)

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第19张图片

        步骤四:现在有pull和push的URL地址,进行强制允许不相关历史master分支合并,使用命令——git pull origin master --allow-unrelated-histories

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第20张图片

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第21张图片

Merge branch 'master' of github.com:xxxxxx/GitNavigation
翻译:允许强制合并分支 'master' 到 Github远程版本库GitNavigation中
# Please enter a commit message to explain why this merge is necessary
翻译:请输入提交消息来解释为什么需要合并
# especially if it merges an updated upstream into a topic branch.
翻译:特别是如果它合并了一个更新的上游到一个主题分支
# Lines starting with '#' will be ignored, and an empty message aborts
翻译:以'#'开头的行将被忽略,空消息将终止提交


      (6)TortoiseGit中再次使用pull拉取master分支合并的信息建立本机版本库连接远程版本库——success

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第22张图片

        (7)Git本机版本库push上传/推送至Github远程版本库

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第23张图片

         合并成功:Success (4281 ms @ 2021/8/7 1:23:01)

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第24张图片


6.Github检测Push推送成功的工程项目

(Git/Github笔记)GUI工具TortoiseGit基本使用+Git本机版本库上传至Github远程版本库_第25张图片

***使用TortoiseGit客户端把Git本机版本库上传至Github远程版本库,整个实现流程就介绍完了***


7.总结

仅自己学习记录,如有错误,敬请谅解~,谢谢~~~

你可能感兴趣的:(Git/Github笔记,TortoiseGit,git,github,git,bash,android,studio)