C++ (week9):Git

文章目录

1.git介绍

2.git安装

bash 复制代码
sudo apt install git

3.git配置

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

4.获取自己的SSH公钥

1.生成公钥:

bash 复制代码
ssh-keygen -t rsa -C "具体的邮箱"
然后三次回车

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

bash 复制代码
cat ~/.ssh/id_rsa.pub

3.粘贴公钥:

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


5.新建仓库


6.邀请开发者

7.克隆远程仓库到本地

1.获取仓库的地址

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

bash 复制代码
git clone  仓库地址

8.在本地进行开发

项目基本架构的文件夹

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

1.若有.git隐藏目录,证明该项目使用了git进行管理。

2.常用git命令

(1)提交

bash 复制代码
git add .
git commit -m "姓名: 操作内容"

(2)查看仓库的状态

bash 复制代码
git status

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

bash 复制代码
git push origin master

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

(4)查看git日志

bash 复制代码
git log

(5)版本回退

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

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

bash 复制代码
git checkout -- .

10.git的工作原理

①工作区

②暂存区:.git/index

③版本库

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


示例:


11.分支管理

(1)合作开发的方式

1.每一个成员都操作一个不同的文件,只使用master分支

(2)分支管理


bash 复制代码
git merge --no-ff -m "提交描述" develop  //合并分支

切换分支、合并分支

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

1.如果本地与远程修改的不是同一个文件,则先pull,拉取远程更新本地的其他文件,再push。

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

12.git 与 svn 的区别

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

13.设置alias别名

14.版本号标签

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


删除标签

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

bash 复制代码
git pull

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

版本冲突

bash 复制代码
git pull --force origin master:master

操作同一个文件,容易与远程冲突

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

bash 复制代码
git pull --force origin master:master

16.强行覆盖

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

bash 复制代码
git pull --force origin master:master

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

bash 复制代码
git push --force origin master:master

17.解决git冲突问题

解决git冲突是一门很深的学问。后续慢慢补充。

上文中15也提到了 冲突时,用 备份 + 强行覆盖的方式,先pull再push,解决冲突。

相关推荐
码农黛兮_4627 分钟前
Git 常用命令大全
git
一弓虽44 分钟前
git 学习
git·学习
疯狂的沙粒9 小时前
如何通过git命令查看项目连接的仓库地址?
大数据·git·elasticsearch
qq_2546177710 小时前
Gerrit+repo管理git仓库,如果本地有新分支不能执行repo sync来同步远程所有修改,会报错
git
π大星星️10 小时前
Git分布式版本控制工具
分布式·git
kingbal11 小时前
IDEA:配置 Git 需要完成 Git 路径设置、账号认证以及仓库关联三个主要步骤
git·idea
司徒小夜1 天前
处理git没做修改,但是文件显示变更的情况
git
m0_749317521 天前
vscode里如何用git
ide·git·vscode
Hello.Reader1 天前
Git 安装全攻略Linux、macOS、Windows 与源码编译
linux·git·macos
王景程1 天前
SELinux是什么以及如何编写SELinux策略
git·github