git实操图文详解系列教程——github核心操作(代码片段)

谷哥的小弟 谷哥的小弟     2022-10-21     509

关键词:


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

开发环境

本系列教程所涉开发环境,详情如下:

  • 1、Win10
  • 2、JDK1.8
  • 3、Git2.31.1
  • 4、IDEA 2021.2.1

参考资料

本系列教程在撰写过程中所涉及参考资料,详情如下:

https://git-scm.com/book/zh/v2

http://git.oschina.net/progit/

https://www.liaoxuefeng.com/wiki/896043488029600

https://marklodato.github.io/visual-git-guide/index-zh-cn.html


GitHub概述

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。

官方网站

https://github.com/

准备工作

请自行注册GitHub账号。

友情提示

由于网络原因,GitHub操作可能出现异常或失败;请耐心尝试。

本地仓库

在本地创建名为GitDemo的文件夹作为本地仓库;图示如下:


点击进入GitDemo文件夹利用Git init命令初始化本地仓库;图示如下:


初始化完成后会自动生成.git隐藏文件。

远程仓库

我们将GitHub作为远程仓库并进行相关操作。

创建远程仓库

点击+号创建远程仓库;图示如下:

填写远程仓库相关信息;建议远程仓库名与本地仓库保存一致;图示如下:

创建完毕,我们以后可通过HTTPS或者SSH的方式访问此远程仓库;图示如下:

本远程仓库的HTTPS为:https://github.com/rainbowzebra/GitDemo.git

本远程仓库的SSH为:git@github.com:rainbowzebra/GitDemo.git

配置远程仓库别名

为便于日后访问,我们可为远程仓库配置别名。

配置远程仓库别名,通常情况下别名与仓库名保持一致;语法如下:

git remote add 别名 远程地址

示例如下:

yy@lf MINGW64 /d/GitWorkSpace/GitDemo
$ git init
Initialized empty Git repository in D:/GitWorkSpace/GitDemo/.git/

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git remote add GitDemo https://github.com/rainbowzebra/GitDemo.git

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$

查看当前所有远程仓库别名,语法如下:

git remote -v

示例如下:

推送本地分支至远程仓库

远程仓库虽然有了,但是里面是空的。现在,我们先在本地仓库进行文件操作再将其推送至远程仓库。

编写test.txt

在GitDemo中新建test.txt并在其中编写内容;图示如下:

添加test.txt

将工作区的新增文件添加至暂存区,语法如下:

git add 文件名

示例如下:

提交test.txt

将暂存区的文件提交至本地库;语法如下:

git commit -m "日志信息" 文件名

示例如下:

推送至远程仓库

在完成本地操作后,我们将分支推送至远程仓库;语法如下:

git push 远程仓库完整地址或别名 分支名

示例如下:

登录GitHub,图示如下:


点击同意授权,图示如下:


授权成功;图示如下:


之前的推送可能发生错误;所以,再次推送;图示如下:


推送成功后可在GitHub上查看相关代码;图示如下:


过程梳理与小结

  • 1、利用git add命令将新增文件添加至暂存区
  • 2、利用git commit 命令提交代码至本地库
  • 3、利用git push命令提交本地分支至远程仓库

拉取远程分支至本地仓库

我们在GitHub中修改已有文件test.txt并保存,再将其拉取到本地分支。

修改远程文件

修改test.txt文件,图示如下:


提交test.txt文件,图示如下:


提交test.txt成功,图示如下:

拉取远程分支

语法如下:

git pull 远程仓库完整地址或别名 分支名

示例如下:


拉取成功后,我们再查看本地仓库的test.txt文件;图示如下:

过程梳理与小结

  • 1、远程仓库的代码发生变化
  • 2、利用git pull命令拉取远程代码至本地

克隆远程仓库至本地

在实际工作中我们常需要克隆clone远程仓库至本地。克隆clone时无需使用GitHub账号与密码;而且该过程中可自动完成以下工作:

  • 1、初始化本地仓库
  • 2、自动为远程仓库创建别名(例如:origin)
  • 3、拉取远程仓库的代码至本地

语法如下:

git clone 远程仓库完整地址

示例如下:

我们在任意一个新文件夹(例如:TestClone)中执行克隆clone命令;图示如下:


克隆完成后在TestClone中自动有了GitDemo文件夹,打开GitDemo文件夹;图示如下:


至此,克隆操作已经完成。

邀请他人加入团队

在开发过程中我们进场邀请其他人加入自己的团队;详细操作流程如下。

发起邀请

管理团队成员;图示如下:

再次登录;图示如下:

添加团队成员;图示如下:


输入被邀请者的GitHub账号;图示如下:



复制邀请链接;图示如下:

复制后得到如下邀请链接:

https://github.com/rainbowzebra/GitDemo/invitations

接受邀请

请利用任意通信手段将该邀请链接发送至团队成员;团队成员收到后登录GitHub并在浏览器中打开该链接并接受要求;图示如下:


至此,成功邀请其它人加入团队;图示如下:

SSH免密登录

在之前的操作中,我们发现除了HTTPS以外还可以用SSH的方式登录远程仓库;图示如下:

删除原本.ssh

请进入到当前用户(例如yy)的家(根)目录,查看是否有.ssh文件夹,如果有则将其删除;图示如下:

创建新的.ssh

请在该当前用户(例如yy)的家(根)目录下右键选择Git Bash Here;图示如下:


运行命令生成.ssh 秘钥目录,语法如下:

ssh-keygen -t rsa -C 登录GitHub时使用的用户名

请注意:此处-C中是大写的 C

代码如下:

ssh-keygen -t rsa -C lfdfhl@gmail.com

请注意:输入该命令行连续敲击三次回车

结果如下:


请打开.ssh文件夹中的id_rsa.pub文件并复制全部内容,图示如下:

填写秘钥

请登录 GitHub依次点击用户头像→Settings→SSH and GPG keys;图示如下:


选择新增SSH key;图示如下:


填写Title与Key;其中Title无明确要求可自定义;Key为刚才新生成的秘钥;图示如下:


创建成功,图示如下:


设置完成后,点击SSH即可看到与之对应的链接;图示如下:

验证测试

在GitDemo中添加hello.txt并push至远程仓库;图示如下:


流程如下:

  • 1、利用git add命令将新增文件添加至暂存区
  • 2、利用git commit 命令提交代码至本地库
  • 3、利用git push命令提交本地分支至远程仓库

代码如下:


yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git add hello.txt

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git commit -m "hello first commit" hello.txt
[master fb58471] hello first commit
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git push GitDemo master
fatal: unable to access 'https://github.com/rainbowzebra/GitDemo.git/': OpenSSL SSL_read: Connection was reset, errno 10054

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git push GitDemo master
fatal: unable to access 'https://github.com/rainbowzebra/GitDemo.git/': Failed to connect to github.com port 443: Timed out

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$ git push GitDemo master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 272 bytes | 90.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/rainbowzebra/GitDemo.git
   7f8b64f..fb58471  master -> master

yy@lf MINGW64 /d/GitWorkSpace/GitDemo (master)
$

小结

  • 1、利用SSH免密的方式push代码时就不需要再输入账号和密码了
  • 2、在push过程中如果出现Timed out 超时错误;请再次重试即可

git实操图文详解系列教程——idea集成git(代码片段)

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

git实操图文详解系列教程——git原理与实践(代码片段)

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

git实操图文详解系列教程——idea集成git(代码片段)

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

git实操图文详解系列教程——idea集成gitee

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

git实操图文详解系列教程——idea集成gitee

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

git实操图文详解系列教程——git原理与实践(代码片段)

版权声明本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl开发环境本系列教程所涉开发环境,详情如下:1、Win102、JDK1.83、Git2.31.14、IDEA2021.2.1参考资料本系列教程在撰写过程中所涉及参考资料,... 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

❤️git图文使用教程详解(代码片段)

✍、Git图文使用教程说明Git版本:v2.33.0IDEA版本:2021.1主要记录git的常用命令、IDEA集成git、git与GitHub、IDEA集成GitHub、Gitee等(详细图文步骤记录)配套视频参考:【尚硅谷】5h打通Git全套教程❤️Git图文使用教程详解地... 查看详情

git学习系列之如何正确且高效地将本地项目上传到github(图文详解)(代码片段)

...Git的安装  见Git学习系列之Windows上安装Git详细步骤(图文详解)      1、进入Github首 查看详情

github使用教程图文详解(代码片段)

1、首先要先在github的官网注册一个属于自己的账号。https://github.com/2、注册完成后需要一些简单的设置,先创建一个属于自己的仓库,repository3、创建仓库4、如何让自己电脑上的代码同步到Github上所创建的库当中?在这里,需要... 查看详情

css3属性详解(图文教程)

本文最初发表于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。以下是正文。前言我们在上一篇文章中学习了CSS3的选择器,本文来学一下CSS3的一些属性。颜色CSS3中,有一种新的表示... 查看详情

图文详解如何利用git+github进行团队写作开发

图文详解如何利用Git与GitHub进行团队协作开发团队协作开发中,大部分都会用到版本控制软件,比如Git、Svn等。本文将通过一个实例,详细讲解在真实的工作环境中,一个团队应该如何利用Git+Github进行协作开发,即详解Git工作... 查看详情

github教程本地仓库托管到github

本文开头先特别声明一下:由于GitHub教程属于Git系列教程的GitHub子篇章,因此GitHub教程中将不再详细介绍Git操作命令及其用法,我会根据实际需要穿插着回顾Git操作命令。如果读者需要学习或者回顾Git命令,可以参考Git系列教程... 查看详情

git入门图文教程(1.5w字40图)🔥🔥--深入浅出图文并茂

...,免费、开源!核心能力就是版本控制。本文深入浅出、图文并茂的展示了Git的入门系列教程。01、认识一下Git!—简介Git是当前最先进、最主流的分布式版本控制系统,免费、开源!核心能力就是版本控制。再具体一点,就是... 查看详情

windows下git和github的使用图文详细教程(代码片段)

这里介绍windows下的git和GitHub使用。linux下git和github搭建使用教程参考:https://blog.csdn.net/weixin_52270081/article/details/1191407241、注册gihub账号github官网:https://github.com/自行创建即可。登录,createrepository 查看详情

pyqt5可视化7饼图和柱状图实操案例④层叠柱状图和百分比柱状图及饼图的实现超详解图文教程

目录一、层叠柱状图1初始化层叠柱状图和绘制层叠柱状图函数2构造函数里调用 3draw_sta 查看详情

git恢复之前版本的两种方法resetrevert(图文详解)

一、问题描述在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。二、背景知识git... 查看详情