当前位置: 首页 > news >正文

从零开始的git学习

基本概念:修改记录

1、每个修改记录都有对应的id
2、当发现修改有问题时,可以进行回滚操作。
3、回滚的本质是一次新的更新以复原修改。但是如果不是针对最新记录进行回滚,会出现冲突。
这里需要举例说明

基本概念:分支

1、分支是一个远程仓库中的多个独立副本,副本之间是互不影响的。他们的文件修改记录都是相互独立的。
2、一个远程仓库默认有一个主分支,默认情况下文件会被存储到主分支。
3、创建分支时,需要基于:某个修改记录\某个分支\或者某个tag
4、一个分支的所有修改可一次全部更新到别的分支,称为合并。合并实际上是对目标分支提交一次新修改。但是如果目标分支则修改过某个文件,则可能产生冲突。

基本概念:TAG

1、标记某个修改记录,用于归档对应的分支下截止到这次修改的文件。有点像是游戏中的存档点。

常见操作:git clone 将仓库克隆到本地。

1、克隆的时候默认克隆的分支是主分支

常见操作:git branch/checkout 分支操作

我们clone下来的是一个仓库,仓库有不同的分支,我们可以进行分支的切换。
1、在本地副本下,采用git branch 指令查看仓库的所有分支
2、并且用git checkout xxx进行分支的切换。也就是说,我们可能下载下的是主分支,但是可以在本地直接利用这个命令进行分支切换,这样本地的分支就变成了分支xxx。
3、如果当前副本已经进行了修改,还未提交修改,则无法切换分支。
4、基于3,如果需要使用多个仓库分支代码,建议克隆多个仓库副本
5、如果下载本地副本以后,有别的用户更新了远程仓库,那么当前本地仓库和远程仓库是不一致的。如果此时提交修改,则可能发生冲突。
如果我们在本地副本修改了文件集合A,远程仓库的文件集合B发生了更新,而A和B有交集,也会出现更新冲突导致的更新失败。
问题:如何处理冲突呢?

git stash //将本地的修改存储到临时堆栈中
git pull //获取远程仓库的最新副本
git stash pop// 将之间暂存的本地修改恢复
//可以放心的执行上传操作了
//可以放心的执行上传操作了

问题:如果当前本地我们所在的分支是A分支,而该仓库实际上有多个分支,那么git pull指令更新的是A分支,还是仓库的所有分支?
git pull命令只会更新当前所在的本地分支,而不会同时更新其他分支
git pull的本质是两个操作的组合:
1、git fetch:从远程仓库下载所有分支的最新提交记录(但不合并到本地)。
2、git merge:将当前分支对应的远程分支(如origin/main)合并到本地当前分支。

git 基本配置

git 有三种基本配置:

git config --local  ///对当前仓库生效
git config --global  ///对当前用户的所有仓库生效,会修改~/.gitconfig 或 C:\Users\你的用户名\.gitconfig
git config --system  ///对当前系统下所有用户生效

最常见的配置如下,只需要在第一次使用git的时候配置即可,以后上传代码都不需要再配置了!!!

git config --global user.name  # 查看全局用户名
git config --global user.email  # 查看全局邮箱

git——与服务器的认证配置

ssh-keygen -t rsa -C "your email" 
直接按三次回车,可以看到公钥。
在代码管理平台的profile Settings中 找到SSH Keys, 添加SSH Keys,将公钥复制到Public Key即可

相关文章:

  • [ElasticSearch] RestAPI
  • Spring Boot,注解,@ConfigurationProperties
  • OpenFeign和Gateway集成Sentinel实现服务降级
  • 网络协议的原理及应用层
  • Vue-2-前端框架Vue基础入门之二
  • 《深度解构现代云原生微服务架构的七大支柱》
  • 儿童节快乐,聊聊数字的规律和同余原理
  • C++代码常见问题解析与优化(虚函数)
  • 从架构视角设计统一网络请求体系 —— 基于 uni-app 的前后端通信模型
  • 【设计模式-3.4】结构型——代理模式
  • QT-JSON
  • B站视频下载器 v1.0.4|免登录下载1080P视频
  • LabVIEW双光子显微镜开发
  • C++四种类型转换方式
  • 017搜索之深度优先搜索——算法备赛
  • 宝塔专属清理区域,宝塔清理MySQL日志(高效释放空间)
  • Azure Devops 系列之三- vscode部署function app
  • LeetCode算法题 (搜索二维矩阵)Day18!!!C/C++
  • 李臻20242817_安全文件传输系统项目报告_第14周
  • 力扣面试150题--二叉树的锯齿形层序遍历
  • ftp上传文件到网站/微信引流推广怎么做
  • 怎样把网站做的漂亮/长沙网站制作关键词推广
  • 四平网站seo/如何推广微信公众号
  • 免费学做美食视频网站/高端网站制作
  • 建设部的官方网站/seo搜索引擎优化ppt
  • 昆明网站制作前十/小区推广最有效的方式