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

C++ (week9):Git

文章目录

    • 1.git介绍
    • 2.git安装
    • 3.git配置
    • 4.获取自己的SSH公钥
    • 5.新建仓库
    • 6.邀请开发者
    • 7.克隆远程仓库到本地
    • 8.在本地进行开发
    • 9.本地项目推送到远程仓库
    • 10.git的工作原理
    • 11.分支管理
      • (1)合作开发的方式
      • (2)分支管理
      • (3)分支合并的原理、冲突管理
    • 12.git 与 svn 的区别
    • 13.设置alias别名
    • 14.版本号标签
    • 15.多用户操作不同的文件
    • 16.强行覆盖
      • (1)远程强行覆盖本地仓库
      • (2)本地强行覆盖远程仓库
    • 17.解决git冲突问题

1.git介绍

在这里插入图片描述


2.git安装

sudo apt install git

3.git配置

在Gitee、GitHub上注册账号,配置 user name 和email。家目录下会生成.gitconfig文件。

在这里插入图片描述

在这里插入图片描述


4.获取自己的SSH公钥

1.生成公钥:

ssh-keygen -t rsa -C "具体的邮箱"
然后三次回车

2.复制公钥:.ssh目录下的id_rsa.pub里就是公钥信息

cat ~/.ssh/id_rsa.pub

3.粘贴公钥:
gitee,设置,安全设置,SSH公钥,粘贴进去

在这里插入图片描述
在这里插入图片描述


5.新建仓库

在这里插入图片描述
在这里插入图片描述


6.邀请开发者

在这里插入图片描述

在这里插入图片描述


7.克隆远程仓库到本地

1.获取仓库的地址
在这里插入图片描述


2.执行命令,将项目以文件夹形式 克隆到本地

git clone  仓库地址

8.在本地进行开发

项目基本架构的文件夹
在这里插入图片描述


9.本地项目推送到远程仓库

1.若有.git隐藏目录,证明该项目使用了git进行管理。
在这里插入图片描述


2.常用git命令
在这里插入图片描述

(1)提交

git add .
git commit -m "姓名: 操作内容"

在这里插入图片描述

(2)查看仓库的状态

git status

(3)把操作推送到远程仓库

git push origin master

origin是别名,在.git/config中设置

(4)查看git日志

git log

(5)版本回退

git reset --hard HEAD^  //回退到上一个版本
git reset --hard 版本号哈希值(一部分也行),版本可以前进和后退

(6)误删文件的恢复:工作区删除,但没提交 (commit)

git checkout -- .

10.git的工作原理

在这里插入图片描述

①工作区
在这里插入图片描述

②暂存区:.git/index
在这里插入图片描述

③版本库
生成版本号,用哈希值表示。它们以链表方式进行存储。

在这里插入图片描述
在这里插入图片描述


示例:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


11.分支管理

(1)合作开发的方式

1.每一个成员都操作一个不同的文件,只使用master分支
在这里插入图片描述


(2)分支管理

在这里插入图片描述

git merge --no-ff -m "提交描述" develop  //合并分支

在这里插入图片描述

切换分支、合并分支
在这里插入图片描述


(3)分支合并的原理、冲突管理

1.如果本地与远程修改的不是同一个文件,则先pull,拉取远程更新本地的其他文件,再push。
2.如果本地与远程修改的是同一个文件,则会冲突。先将本地冲突文件拷贝到其他无关目录下,再pull合并远程。再对比本地冲突文件和远程有什么区别,人工合并代码后,再push。


12.git 与 svn 的区别

git相当于在本地也有一个版本控制库,远程仓库也有一个版本控制库。


13.设置alias别名

在这里插入图片描述


14.版本号标签

git tag v1.0		     //给当前分支的当前版本,打上v1.0的标签
git tag v1.1  versionno	 //给某个版本号(哈希值)的分支打上v1.1的标签
git tag 			//查看标签的情况
git tag -d v1.0		//删除本地标签

在这里插入图片描述
在这里插入图片描述

删除标签
在这里插入图片描述


15.多用户操作不同的文件

git pull

修改文件之前,先与远程仓库同步(pull),再推送(push)

在这里插入图片描述


版本冲突

git pull --force origin master:master

在这里插入图片描述

操作同一个文件,容易与远程冲突
在这里插入图片描述


解决冲突:cp本地修改的文件到其他位置 备份,然后用远程仓库强制覆盖本地仓库,再把备份的修改文件mv回来

git pull --force origin master:master

16.强行覆盖

(1)远程强行覆盖本地仓库

git pull --force origin master:master

(2)本地强行覆盖远程仓库

git push --force origin master:master

17.解决git冲突问题

解决git冲突是一门很深的学问。后续慢慢补充。
上文中15也提到了 冲突时,用 备份 + 强行覆盖的方式,先pull再push,解决冲突。

http://www.lryc.cn/news/380567.html

相关文章:

  • Seaborn:数据可视化的强大工具
  • 图解注意力
  • Typora Markdown编辑器 for Mac v1.8.10 安装
  • 代码随想录算法训练营Day46|动态规划:121.买卖股票的最佳时机I、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III
  • hive on spark 记录
  • 【计算机网络体系结构】计算机网络体系结构实验-DHCP实验
  • 攻防世界-pdf
  • 关于后端幂等性问题分析与总结
  • 2024广东省职业技能大赛云计算赛项实战——容器云平台搭建
  • 手持弹幕LED滚动字幕屏夜店表白手灯接机微信抖音小程序开源版开发
  • 红队内网攻防渗透:内网渗透之内网对抗:代理通讯篇无外网或不可达SockS全协议规则配置C2正反向上线解决方案
  • PHP学习总结-入门篇
  • IDEA Plugins中搜索不到插件解决办法
  • SpringBootWeb 篇-入门了解 Vue 前端工程的创建与基本使用
  • 折线统计图 初级
  • 最新下载:XmanagerXShell【软件附加安装教程】
  • Coursera耶鲁大学金融课程:Financial Markets 笔记Week 02
  • 读书笔记:《生死疲劳》
  • C++面向对象三大特性--多态
  • 啥移动硬盘格式能更好兼容Windows和Mac系统 NTFS格式苹果电脑不能修改 paragon ntfs for mac激活码
  • 【面试】i++与++i的区别
  • 使用 devtool 本地调试 nodejs
  • element-plus 表单组件 之element-form
  • redis持久化主从哨兵分片集群
  • IOS Swift 从入门到精通: 结构体的访问控制、静态属性和惰性
  • SQL题:未完成率较高的50%用户近三个月答卷情况
  • 挑战与机遇的交织
  • Java项目:基于SSM框架实现的精品酒销售管理系统分前后台【ssm+B/S架构+源码+数据库+毕业论文】
  • [论文笔记]Are Large Language Models All You Need for Task-Oriented Dialogue?
  • Django 模版过滤器