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