github客户端与git使用指南

article/2025/9/19 2:53:24

 

目录

 

一、环境配置

1. 首先本地安装git

2. 到github使用邮箱注册账号

3. 将github与git关联起来

4. github客户端安装(可选)

二、git指令

三、github客户端使用指南

1. 基本概念

2. 对版本的基本操作

3. 分支branch

4. 团队协作

5. 贡献开源项目流程

6. 额外的功能

四、git服务器搭建


一、环境配置

1. 首先本地安装git

安装教程:https://www.runoob.com/git/git-install-setup.html

windows系统直接到 https://gitforwindows.org/ 下载并安装

可以下载Sourcetree作为git客户端使用

2. 到github使用邮箱注册账号

3. 将github与git关联起来

参考链接:https://www.runoob.com/git/git-remote-repo.html

https://www.runoob.com/w3cnote/git-guide.html

步骤:

(1)打开安装好的Git文件夹下的git-bash.exe

(2)输入

$ ssh-keygen -t rsa -C "your_email@youremail.com"

然后一路回车

(3)然后会生成.ssh文件,将id_rsa.pub用notepad++打开,并复制。(因为本地Git仓库和GitHub仓库之间的传输是通过SSH加密传输的,GitHub需要识别是否是你推送,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送,所以需要配置ssh key。id_rsa和id_rsa.pub就是SSH Key的秘钥对,id_rsa是私钥,不能泄露,id_rsa.pub是公钥,可以公开。)

打开setting,将复制的黏贴到图中key的位置,title可以随便填。

(4)为了验证是否成功,在git bash下输入:

$ ssh -T git@github.com
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

出现以上结果,说明连接成功了。

(5)Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以需要配置用户名和邮箱地址。(global是针对所有仓库)

$ git config --global user.name 'runoob'
$ git config --global user.email test@runoob.com

用户名和邮箱信息可于github客户端中修改。

4. github客户端安装(可选)

直接到 https://desktop.github.com/ 下载安装即可,然后打开客户端登录自己的账号。

github客户端使用指南:https://gitbeijing.com/  (这个文档对应的github网页和github客户端比较版本比较老的,有些地方不太一致)

配套慕课网课程:https://www.imooc.com/learn/390 (版本控制入门 – 搬进 Github)

二、git指令

直接看:https://www.runoob.com/git/git-tutorial.html 总结得挺好的。

快速git 指令 https://www.cnblogs.com/my--sunshine/p/7093412.html

https://www.cnblogs.com/Gxiaopan/p/6714539.html

git中的撤销和回滚操作:https://blog.csdn.net/ligang2585116/article/details/71094887

快速github指令(标准,但是是英文版):https://www.runoob.com/manual/github-git-cheat-sheet.pdf

git clone/git pull/git fetch 三者的区别:https://segmentfault.com/a/1190000017030384

部分总结:

(1)总体流程

暂存区其实挺重要的,又可以作为本地电脑的一份备份,又不会产生版本信息。

(2)本地仓库与远程仓库关联

将github网页上新建的仓库与本地的文件夹关联起来,并push(origin是远程的意思

1. // 本地初始化仓库$ git init reponame
2. 在github官网上创建同名仓库
3. 将本地仓库与github的仓库相关联$ git remote add origin git@github.com:tianqixin/runoob-git-test.git
4. 将本地的仓库 push 到远端仓库的master分支$ git push -u origin master

(3)标签管理

  • 查看所有标签    git tag
  • 创建标签           git tag name
  • 指定提交信息    git tag -a name -m "comment"
  • 删除标签           git tag -d name
  • 标签发布           git push origin name

(4) 常用指令

git init
在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.
git clone [url]
获取一个url对应的远程Git repo, 创建一个local copy
git status
查询repo的状态.
git status -s
-s表示short, -s的输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言.
git log
展示分支的commit历史
git add . 
工作时的所有变化提交到暂存区(git add . 会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,但是git add * 会忽略.gitignore把任何文件都加入)
git add file
将指定文件提交到暂存区
git commit -m “the commit message"
commit时添加描述
git commit -a 
跳过add直接commit
git push 
push所有分支(clone 是本地没有 repository 时,将远程 repository 整个下载过来。pull 是本地有 repository 时,将远程 repository 里新的 commit 数据(如有的话)下载过来,并且与本地代码merge)
git push origin master 
将本地主分支推到远程主分支
git reset HEAD
取消已缓存的内容
git branch (branchname)
创建分支命令
git checkout (branchname)
切换分支命令
git merge sub-branch
将子分支合并到master
git pull 
抓取远程仓库所有分支更新并合并到本地
git revert
反转撤销提交.只要把出错的提交(commit)的名字(reference)作为参数传给命令就可以了.
git revert HEAD
撤销最近的一个提交.

git log

git log --oneline --number: 每条log只显示一行,显示number条

三、github客户端使用指南

1. 基本概念

一次 commit 就对应着一个版本,点击14 commits 可查看详细的commit历史。继续点击简写形式的版本号(只有7位)可查看详细的改版内容,包括完整的40位16进制版本号。

当前分支不等于默认分支

2. 对版本的基本操作

(1)不仅可以选择添加哪个文件到下一个版本中,还可以选择添加文件的部分内容到下一个版本中。

(2)选择undo可以撤销上一次commit的版本,只适用于没有同步(push)到github上的版本。

(3)如果已经同步到github上,可以在历史版本上右键,选择revert this commit,然后push到github,即可抵消上一次commit的操作。(同时会修改本地的文件)

(4)如果要选择回滚到某次commit,可以在历史版本上右键,选择roll back to this commit。(免费版的github客户端没有这个功能,可以选择使用git指令来实现)。

3. 分支branch

(1)分支合并分为两种方式:merge 和 rebase

merge:合并分支时,首先把当前分支切换为主分支,然后把分分支merge到主分支。

rebase:

(2)区别:你可以认为rebase的作用是修剪枝杈,merge只是按照操作顺序进行合并代码,不按时间顺序的commit只能作为分支嫁接到主干上。rebase就是把这些枝杈剪下来,按照时间重排之后重新嫁接到主干上,因此被rebase修剪过的commit会非常好看,在分支图上看到的是一条直线。缺点就是你的merge不按时间顺序来的太多,会导致以前解决过的冲突全部重新解决一次,非常痛苦,因此选用rebase还是merge团队一开始就必须规定好,否则后期调整很麻烦。

(3)合并分支导致的代码冲突:

但是如果在两个分支上改动了同一个地方,合并的就会出现代码冲突。 因为 git 不知道该听哪个分支的,所以只能报出冲突的位置,让开发者手动解决。

4. 团队协作

整个 Github Flow 的几个步骤:

第一步,创建新分支,用来开发这个新功能。如下图所示

第二步,不断实现功能,做成一个个新版本。

第三步,发起”拉取请求“( Pull Request ),后面简称 PR 吧。

将完成的新分支push到github上,然后拉起请求

拉起请求后,可以查看新分支相对于master详细的修改信息

第四步,大家讨论。这是一个代码审核的过程。

第五步,部署代码。

第六步,把分支的内容合并到 master 。

这就是整个 Github Flow 的几个步骤了。

5. 贡献开源项目流程

基于 fork 的整个的流程就是上图展示的思路。第一步,先 fork,这样我就有了 happypeter/TLCL 这个仓库了,既然是属于自己的仓库,我就可以把它 clone 到本地,做修改,然后推送到回这个仓库之中。这样我把我自己的仓库(或者说 fork )跟上游的仓库( billie66 名下的仓库)来进行对比,就可以发 Pull Request 了,最后项目的协作者来决定是否merge。

如果只是要改一个很小的地方,可以直接在github网页版上,打开这个项目的某个文件,然后直接编辑。

6. 额外的功能

Github 上的每个项目仓库,都有三套基础设置可供使用:一个是通过 Github Pages 机制建立项目网站,后面会介绍的。另外一个就是每个项目都可以开自己的 wiki ,作为项目的知识库。第三个就是咱们今天的主角,事务卡片( Issues )。很多比较复杂的项目管理软件会把“报 Bug ”,“提新需求”,“其他讨论”,这些项目相关的内容分成不同的板块来进行,在 Github 这里,所有的内容就都作为事务卡片来统一管理了。

(1)issues

issues与pull request区别: pull request是修改代码后引发的讨论,而issues一般是先有讨论,再配合解释或修改代码。

commit 版本时,描述加上issues号,push之后,就会出现在issuues的记录里。(前提是必须在master分支上)

这样写,会关闭编号为2的事务卡片。

(2)GitHub Pages 搭建网站

四、git服务器搭建

Github 公开的项目是免费的,但是如果你不想让其他人看到你的项目就需要收费。这时我们就需要自己搭建一台Git服务器作为私有仓库使用。

两者的教程基本一致

以 Centos 为例搭建 Git 服务器: https://www.runoob.com/git/git-server.html

以 ubuntu为例搭建 Git 服务器:https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664

 


http://chatgpt.dhexx.cn/article/XlufP0kd.shtml

相关文章

Github客户端使用教程

Github客户端使用教程 前言:GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。步骤稍微有点多,不过都是很简单的操作,只是想讲清楚一点,避免出现说…

块级元素、行内元素、元素嵌套

HTML标签有两类:块级元素行内元素 (1)块级元素-默认总是在新行开始 div、h1~h6、blockquote、dl、dt、dd、form、hr、ol、p、pre、table、ul … 特点:总是在新行上开始,高度、行高以及顶和底边距都可控制,宽…

块级元素的居中

在平常的写网页的过程中,居中是必不可少的一点,不同情况用不同的解决办法,会使写代码效率事半功倍,接下来我提供几种方法。 第一种:利用绝对定位 将position设置成absolute或fixed,这个视情况而定&#x…

元素类型(块级元素、行内元素)

块级元素&#xff1a; 常见的块级元素有&#xff1a;<div>、<table>、<form>、<p>、<ul>、<h1>......<h6>、<hr> 、<pre>、<address>、<center>、<marquee> 、<blockquote> 等 1.块级元素会…

块级元素、行内元素、行内块级元素的特点

1.块级元素&#xff1a; (1)独自占据一行,故默认宽度是容器的100%。 (2)可以设置宽、高、行高、内外边距。 (3)可以容纳行内元素和其他块级元素。 注&#xff1a;文字类的块级元素不能容纳块级元素&#xff0c;例如<p>/<h1>~<h6>/<dt> 2.行内元素…

HTML 行内元素 与 块级元素

行内元素和块级元素 行内元素一般是内容的容器&#xff0c;而块级元素一般是其他容器的容器。一般情况下&#xff0c;行内元素只能包含内容或者其它行内元素&#xff0c;宽度和长度依据内容而定&#xff0c;不可以设置&#xff0c;可以和其它元素和平共处于一行&#xff1b;而…

Html块级元素详解

Html块级元素详解 *块级元素 常见的有&#xff1a;div &#xff0c; table&#xff0c; tr &#xff0c; from &#xff0c; ul &#xff0c;li &#xff0c;ol &#xff0c;h1~h6&#xff0c; p 盒子 div 标签 <div class"bq" style"width: 100px; height…

HTML的块级元素(常用整理)

emmm&#xff0c;最近想整理复习一下前端的基础&#xff0c;最开始的HTML想了好久也没想好怎么写&#xff0c;最后也是决定以行块这样整理&#xff0c;再在后面补充吧。 说到HTML&#xff0c;什么是HTML呢&#xff1f; 什么是 HTML&#xff1f;HTML 是用来描述网页的一种语言。…

html5:块级元素

最常见块级元素&#xff1a;div div的属性&#xff1a; <div title"title属性">title属性</div> title属性&#xff1a; 当鼠标悬停在div上时候会有一个小的提示框 <div id"div1">div1</div> id属性可以理解为为当前div提供…

详解块级元素、行内元素、行内块级元素类型、区别及相互转化

1)块级元素 特点&#xff1a; 1.总是从新的一行开始 2.高度、宽度都是可控的 3.宽度没有设置时&#xff0c;默认为100% 4.块级元素中可以包含块级元素和行内元素 5.块级文字元素中不能放入其他块级元素 6.块级大多为结构性标记 常见块级元素&#xff1a; <center>…

块级元素和行内元素的区别

前言&#xff1a;本文转载自原文。为了更好的理解相关概念&#xff0c;本文在原文的基础上做出了部分补充和修改。 一、概论 本部分内容先从整体上概括的阐述块级元素和行内元素的区别&#xff0c;主要从三个不同的角度介绍。 1. 元素排列位置 行内元素会在一行上显示&…

HTML基础(三):常用的块级元素

在了解网页基础结构框架后便正式开始常用块级元素的学习&#xff1a; 块级元素引入 什么是块级元素&#xff1f;块级元素是HTML规范中的一个概念&#xff0c;大多数HTML 元素被定义为块级元素或内联元素。通常&#xff0c;块级元素被称为块元素。与其对应的&#xff0c;还有一…

html框架详解和布局

html的框架详解和布局 什么是框架&#xff1f; 框架将浏览器划分成不同的部分&#xff0c;每一部分加载不同的页面&#xff0c;实现在同一浏览器窗口中加载多个页面的效果 划分框架标记 语法格式 <frameset>....<frameset>属性 cols 使用“像素数”和%分割左右窗…

灵活使用layui布局

灵活使用layui布局 开发工具与关键技术&#xff1a;vs 作者&#xff1a; 撰写时间&#xff1a;使用layui布局&#xff0c;让其做的上下对齐&#xff0c;左右居中的效果。不用额外的给字段写代码&#xff0c;减少代码量&#xff0c;让代码更加轻便简单。Layui布局的定义总共分为…

Layui布局的使用

1、现在任何的页面都离不开页面的布局&#xff0c;页面的布局直接影响到整个页面的效果&#xff0c; 一个好的页面布局可以让人看了印象深刻&#xff1b; 2、接下来就聊聊怎么的页面布局才更好的让人牢牢的记住&#xff1b; 3、首先&#xff0c;打开layui的链接找到布局那个…

好用的前端flex布局,通用的flex布局CSS代码

我的社交恐惧症&#xff0c;主要来自于&#xff0c;收入低??? 今天看到一个图&#xff0c;真是人间真实&#xff1a;   不知道大家上班之后有没有经常写前端&#xff0c;反正身为后端的我是经常写前端的&#xff0c;尤其是调样式调的人痛不欲生&#xff0c;最烦人的是&am…

layui的页面布局分析

《layui的页面布局分析》 开发工具与关键技术&#xff1a;Visual Studio / Layui插件 作者&#xff1a;肖春庆 撰写时间&#xff1a;2019年06月09日 在软件的开发过程中&#xff0c;视图页面是给用户的第一印象&#xff0c;那么开发者如何布局页面才能给用户一个好页面呢&#…

前端开发_HTML5_布局-表格布局

表格布局 1.引入 我们之前学习了HTML5相关的标签内容&#xff0c;之后又学习了相关的一些样式以及特效&#xff0c;下面我们接着学习一个重要的内容:页面布局。 2.表格布局概述 所谓的表格布局就是使用表格内容的特性:可以使用"tr"产生行&#xff0c;使用“td”产生…

Bulma - 免费开源的纯 CSS 前端 UI 框架,专注于构建移动优先的响应式 web 界面

简单易用的 CSS 框架&#xff0c;虽然只有一个 CSS 文件&#xff0c;但功能很强大&#xff0c;在国外很受开发者欢迎&#xff0c;推荐给大家。 关于 Bulma CSS 框架 Bulma 是一个简单、很容易自定义的 CSS UI 框架&#xff0c;提供了众多预定义好的样式&#xff0c;开发者可以…

jQuery、Bootstrap、Layui和响应式布局

前端 一、jQuery1.1 概念1.2 jQuery对象的获取1.2.1 获取语法1.2.2 基本选择器1.2.3 属性及伪类选择器1.2.4 获取对象-过滤选择器1.2.5 案例 1.3 jQuery修改属性1.4 jQuery修改样式1.5 jQuery和DOM对象之间的转换1.5.1 jQuery对象转DOM对象1.5.2 DOM对象转jQuery对象 1.6 jQuer…