一、github基本使用

这一小节主要介绍github的基本使用方法以及每一步的流程和作用。

1. 创建仓库

2. 创建分支


此时有两个分支:main 和 readme-edits。 现在,它们看起来完全相同。 接下来,将向新分支添加更改。

3. 创建和提交更改

在上一步中创建新分支时, GitHub 会将您带到作为 main 副本的新 readme-edits 分支的代码页。

您可以对存储库中的文件进行更改并保存更改。 在 GitHub 上,保存的更改称为提交。 每个提交都有一个关联的提交消息,该消息是解释为什么进行特定更改的说明。 提交消息会捕获您更改的历史记录,以便其他参与者可以了解您执行了哪些操作及其原因。

4. 打开拉取请求

现在,您在 main 以外的分支中进行了更改,可以打开拉取请求。

拉取请求是 GitHub 上协作的核心。 打开拉取请求后,可以提出更改,要求某人审查和提取您的贡献并将其合并到其分支中。 拉取请求显示两个分支中内容的差异。 变化、增减以不同的颜色显示。

只要进行提交,便可打开拉取请求并开始讨论,即使在代码完成之前亦可。

通过在拉取请求消息中使用 GitHub 的 @提及功能,您可以向特定人员或团队请求反馈,无论他们近在大厅还是远在 10 个时区之外。

您甚至可以在自己的存储库中打开拉取请求并自行合并。 这是在处理大型项目之前了解 GitHub 流程的好方法。


您的协作者现在可以查看您的编辑内容并提出建议。

5. 合并拉取请求

在最后一步中,您将 readme-edits 分支合并到 main 分支中。 合并拉取请求后,readme-edits 分支上的更改将合并到 main。

有时,拉取请求可能会引入与 main 上现有代码冲突的代码更改。 如果存在任何冲突, GitHub 将提醒您有关冲突代码的信息,并防止合并,直到冲突解决为止。 您可以进行解决冲突的提交,也可以使用拉取请求中的注释与团队成员讨论冲突。

在本演练中,应该没有任何冲突,因此您已准备好将分支合并到主分支中。

二、通过git命令使用github

在github上创建好仓库后进行以下操作:

1.把需要上传的文件夹变成git可管理的文件,在需要上传的文件夹路径下输入以下:

git init

2.将本地文件添加到暂存区

git add .

3.将暂存区文件提交到分支(master):

git commit -m'对修改过的代码的描述'

4.为将要上传的版本打一个tag,方便后来下载不同版本的代码:

git tag tag名称
# 这里的tag名称最好是分支名称和版本号的组合

4.添加你要上传到的远程仓库:

git remote add origin 仓库地址
# 仓库地址为:git@github.com:xxx/xxx.git

5.切换分支 (可选,如果不切换分支的话就默认上传到main/master分支上)

git cheekout -b 分支名字
# 如果是存在的分支,想要切换的话直接git checkout 分支名字即可
# 如果是不存在的分支,则git checkout -b 分支名字就可以创建新分支并切换到新分支上

6.将本地本版本号的文件上传到远端仓库的指定分支:

git push origin 分支名字 tag名称

此时,如果报错

就说明你的SSH key没有添加到github帐号设置中,这时需要在本地创建SSH key,然后将生成的SSH key文件内容添加到github帐号上去。

创建SSH key的方法很简单,生成ssh key的过程如下所示:

ssh-keygen -t rsa -C "your_email"

然后系统提示输入文件保存位置等信息,连续敲三次回车即可,生成的SSH key文件保存在中~/.ssh/id_rsa.pub文件中。

在linux下可以用cat命令显示id_rsa.pub中的内容:

cat  ~/.ssh/id_rsa.pub

接着拷贝.ssh/id_rsa.pub文件内的所有内容,将它粘帖到github帐号管理中的添加SSH key界面中。

在团队协作使用git的过程中,一般会禁用直接提交master分支的权限。正常操作应该是,在新建分支上进行处理,然后提交一个request,请求合并,也就是常说的PR(Pull Request)。

上传新的版本后就可以进行版本的管理等操作,比如上一小节介绍的拉取请求、解决冲突、合并拉取请求等操作。

查看历史版本的操作如下:

然后就可以看到历史版本,每一个版本分别做了什么样的修改,所以在git commit -m "修改内容部分"要好好填写修改的内容:

三、从GitHub上指定分支clone代码

如果是从master/main分支clone代码,则:

git clone 仓库地址
# 仓库地址为:git@github.com:xxx/xxx.git

如果想从指定分支clone代码,则

git clone -b 分支名称/tag名称 (--depth=1) 仓库地址
# 仓库地址为:git@github.com:xxx/xxx.git
# depth 表示克隆深度, 1 表示只克隆最新的版本. 因为如果项目迭代的版本很多, 克隆会很慢

如果想下载历史版本(历史版本没有历史版本号),就可以先git clone,然后从commits找到对应版本的SHA并复制SHA,然后cd到刚下载的代码目录,git checkout SHA,当前目录的代码就变成了该版本。也可以直接通过历史版本进行下载。

当给一个版本打上版本号后,如果这个版本被merge到了master分支,可以通过版本号下载这个版本。

四、本地分支和远程分支之间的一些操作

Git的分支实际上是一个指向某个版本的指针,对分支的增删改操作就相当于对指针的增删改,因此十分快速轻量。

本地分支就是本地Git仓库里的一个指针,指向某个提交。

远程分支是远程仓库里的一个指针,指向远程仓库中的某个提交。

4.1 常用操作

新建一个本地分支feature1。即在当前版本上新建一个分支,也就是新增一个指向当前版本的指针:

git branch feature1

切换到feature1分支。改变HEAD的指向至对应的分支;HEAD是git中一个特殊的指针,它永远指向本地的当前活跃分支,因此在本地切换分支就相当于改变HEAD的指向:

git checkout feature1

新建并切换到分支feature1,操作1和2可以合并成一个步骤:

git checkout -b feature1

还可以将feature1推送到远程:

git push origin feature1

这样远程就会新增一个名为feature1的分支,并且本地的feature1会自动跟踪远程的feature1。
如果不想让远程的分支也命名为feature1:

git push origin feature1:feature1_o

这个命令意为将本地的feature1分支,推送到远程,在远程的分支名为feature1_o,并跟踪之

可以发现上个命令其实是git push origin feature1:feature1的简化

合并分支。在feature1上做了一些修改提交后,还可以将提交merge到主分支:

git checkout master  // 先将当前分支切换为master
git merge feature1 // 再将feature1合并进当前分支

合并feature1上的提交后,如果想将这些提交同步到远程的master,则可以执行 git push origin master将本地合并的提交推送到远程。

在feature1分支合并后,还可以再删除分支feature1:

git branch -d feature1

如果未执行合并便删除分支,git会提示错误error:分支’feature1’ 没有完全合并,如确定要删除,可使用-D强制删除:

git branch -D feature1

同样也可以删除远程分支:

git push origin :feature1_o

这里其实运用了个小技巧,将本地的“空”推送到远程的feature1_o分支,也就是删除了远程feature1_o分支。
也可以使用以下这个命令来删除:

git push origin --delete 分支名称

4.2 git修改远程仓库地址

1、直接修改远程仓库地址

查看远程仓库地址

git remote -v

修改远程仓库地址:

git remote set-url origin [url]

2、先删除再修改地址

git remote rm origin
git remote add origin [url]

【计算机基础】github使用 git命令相关推荐

  1. 计算机基础——常用的Dos命令

    d:--切换指定硬盘分区 cd--切换目录,例如:cd D:\下载(使用此命令之前先使用 d: 命令) netstat -ano--查看所有端口号 netstat -a--查看开启了哪些端口 nets ...

  2. 利用github和git命令,将本地项目共享到服务器上

    一.步骤 1. 创建项目根目录 mkdir 文件夹名 2. 初始化文件夹 git init 3. 配置用户名和邮箱(第一次配置后,不需要再登录) git config user.name 名字 git ...

  3. Git命令提交项目代码

    Git客户端安装 今天就结合`GitHub`,通过`Git`命令,来了解如何实现开源代码库以及版本控制 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托 ...

  4. 开发基础之使用git把项目提交到github托管

    开发基础之使用git把项目提交到github托管 本文将讲解如何把本地的项目代码提交到github托管. 需要你对Linux命令或者shell命令熟悉. 至于如何使本地和github添加私钥以及用户名 ...

  5. Git基础操作及常见命令——详解

    这是我看了一些大牛们讲解之后做了一下总结,其中讲解较为详细的是廖雪峰的Git讲解 目录 Git的简介 Git的安装 创建仓库 编辑文件 修改文件 查看修改记录 撤销修改 删除文件 连接GitHub 分 ...

  6. 使用git命令上传本地文件到GitHub上

    1.官网下载git并且anz安装 2.在Github上申请账号 3.在本地使用git命令生成私钥和公钥 连续按三次 回车键 $ ssh-keygen -t rsa -C "账号" ...

  7. 如何用git命令行上传本地代码到github

    如何用git命令行上传本地代码到github 2016年09月19日 16:10:36 阅读数:9337 注意:安装的前提条件是配置好git的相关环境或者安装好git.exe,此处不再重点提及 上传的 ...

  8. 记录git命令:本地创建项目后如何上传到github上

    问题描述:在本地Pycharm创建了一个项目,如何将项目传到github上呢?在操作过程中遇到了一系列的问题,详情见下面: 操作过程全纪录: 1.首先登录自己的github账号,创建一个和本地的同名仓 ...

  9. B站收藏 12.5w+!GitHub 标星 6.6k+!这门神课拯救了我薄弱的计算机基础

    大家新年好呀,我是你们的 猫哥,我又回来啦 ~ 相信大家过年都过得开心吧 过得开心,那么就开始学习了哈 ~ 前言 作为一个所谓的计算机科班出身的人来说,特别难为情的是自己的计算机基础很差,相信这不是少 ...

最新文章

  1. 自己写的sqlHelper 以及读取配置文件
  2. 【活动推荐】北京泛娱乐行业技术沙龙——新技术助力内容产业破局之道
  3. java html5 上传_HTML5结合ajax实现文件上传以及进度显示
  4. Python学习笔记:排列与组合
  5. 带有审计表的实体框架核心(EF Core)
  6. JS中Promise函数then的奥秘探究
  7. nginx配置多个域名_Nginx配置多个网站/项目的简单方式
  8. 张高兴的 Windows 10 IoT 开发笔记:BMP180 气压传感器
  9. flutter 获取定位_定位Flutter内存问题如何做
  10. linux 内核修炼之道——系统调用
  11. ssm项目的maven-pom.xml
  12. 基于matlab车牌识别算法
  13. 使用后端解析地图.shp.prj文件得到GeoJson数据
  14. Request Headers 和Response Headers——请求头和响应头
  15. IDEA:plugins插件下载失败的解决办法
  16. ITASCA FLAC2D.v5.0 1CD
  17. 概率论基础 —— 3.离散型、连续型概率模型,及其概率密度与概率分布函数
  18. wps批量将文档括号内的字符串修改颜色
  19. spark driver HA
  20. 基于浮云E绘图源码定制开发网络状态图(拓扑图),关联业务对象,并动态更新

热门文章

  1. Android自定义View精品(CustomCalendar-定制日历控件)
  2. 企业年均增速、企业年均增长率、三年利润平均增长率、三年销售平均增长率
  3. jetson agx orin换源
  4. 【流行学习】拉普拉斯映射(Laplacian Eigenmaps)
  5. 转扩!寻找G2022次列车“旅客”
  6. jquery异形轮播
  7. 使用VirtualBox一步一步安装Ubuntu 22.04
  8. 添加自定义监控项目、配置邮件告警、测试告警、不发邮件的问题处理
  9. 虚拟运营商最晚明年五月推业务
  10. 软件工程学习进度表(十四周)