【计算机基础】github使用 git命令
一、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命令相关推荐
- 计算机基础——常用的Dos命令
d:--切换指定硬盘分区 cd--切换目录,例如:cd D:\下载(使用此命令之前先使用 d: 命令) netstat -ano--查看所有端口号 netstat -a--查看开启了哪些端口 nets ...
- 利用github和git命令,将本地项目共享到服务器上
一.步骤 1. 创建项目根目录 mkdir 文件夹名 2. 初始化文件夹 git init 3. 配置用户名和邮箱(第一次配置后,不需要再登录) git config user.name 名字 git ...
- Git命令提交项目代码
Git客户端安装 今天就结合`GitHub`,通过`Git`命令,来了解如何实现开源代码库以及版本控制 GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托 ...
- 开发基础之使用git把项目提交到github托管
开发基础之使用git把项目提交到github托管 本文将讲解如何把本地的项目代码提交到github托管. 需要你对Linux命令或者shell命令熟悉. 至于如何使本地和github添加私钥以及用户名 ...
- Git基础操作及常见命令——详解
这是我看了一些大牛们讲解之后做了一下总结,其中讲解较为详细的是廖雪峰的Git讲解 目录 Git的简介 Git的安装 创建仓库 编辑文件 修改文件 查看修改记录 撤销修改 删除文件 连接GitHub 分 ...
- 使用git命令上传本地文件到GitHub上
1.官网下载git并且anz安装 2.在Github上申请账号 3.在本地使用git命令生成私钥和公钥 连续按三次 回车键 $ ssh-keygen -t rsa -C "账号" ...
- 如何用git命令行上传本地代码到github
如何用git命令行上传本地代码到github 2016年09月19日 16:10:36 阅读数:9337 注意:安装的前提条件是配置好git的相关环境或者安装好git.exe,此处不再重点提及 上传的 ...
- 记录git命令:本地创建项目后如何上传到github上
问题描述:在本地Pycharm创建了一个项目,如何将项目传到github上呢?在操作过程中遇到了一系列的问题,详情见下面: 操作过程全纪录: 1.首先登录自己的github账号,创建一个和本地的同名仓 ...
- B站收藏 12.5w+!GitHub 标星 6.6k+!这门神课拯救了我薄弱的计算机基础
大家新年好呀,我是你们的 猫哥,我又回来啦 ~ 相信大家过年都过得开心吧 过得开心,那么就开始学习了哈 ~ 前言 作为一个所谓的计算机科班出身的人来说,特别难为情的是自己的计算机基础很差,相信这不是少 ...
最新文章
- 自己写的sqlHelper 以及读取配置文件
- 【活动推荐】北京泛娱乐行业技术沙龙——新技术助力内容产业破局之道
- java html5 上传_HTML5结合ajax实现文件上传以及进度显示
- Python学习笔记:排列与组合
- 带有审计表的实体框架核心(EF Core)
- JS中Promise函数then的奥秘探究
- nginx配置多个域名_Nginx配置多个网站/项目的简单方式
- 张高兴的 Windows 10 IoT 开发笔记:BMP180 气压传感器
- flutter 获取定位_定位Flutter内存问题如何做
- linux 内核修炼之道——系统调用
- ssm项目的maven-pom.xml
- 基于matlab车牌识别算法
- 使用后端解析地图.shp.prj文件得到GeoJson数据
- Request Headers 和Response Headers——请求头和响应头
- IDEA:plugins插件下载失败的解决办法
- ITASCA FLAC2D.v5.0 1CD
- 概率论基础 —— 3.离散型、连续型概率模型,及其概率密度与概率分布函数
- wps批量将文档括号内的字符串修改颜色
- spark driver HA
- 基于浮云E绘图源码定制开发网络状态图(拓扑图),关联业务对象,并动态更新