分布式版本控制工具 git
git 是什么
- 分布式版本控制工具。
github 是代码托管平台。
git 有什么用
- 保存文件的所有修改记录。
- 使用版本号(
sha1 哈希值) 进行区分。 - 随时可浏览历史版本记录。
- 可还原到历史指定版本。
- 对比不同版本的文件差异。
为什么要使用 git
- 多人协作开发一个大型项目。
- 每个人都在代码库下载代码,然后进行修改,把大家不同版本的代码合在一起上传到平台。
- 公司都会有自己的代码托管平台。
git 基本概念
- 仓库:
- 远程仓库:
git init --bare 创建一个裸仓库。 - 本地仓库:
git clone ... 克隆远程仓库到本地。
- 协议:
http / httpsssh
ssh 协议是一个验证授权的网络协议。- 使用
ssh 公钥登录 git 服务器。
- 生成公钥和私钥 →
ssh-keygen -t rsa。 - 安装
openssh server(可省略)。 - 复制公钥内容到远端服务器
.ssh/authorized_keys。 git clone ssh://root@123.249.112.139:/root/holo_render/remote_storage
- 配置用户名和邮箱:
- 版本号:
40 位 sha1 哈希值。 head:当前检出记录的符号引用。

git 基本操作
- 暂存:
git add。 - 提交:
git commit。 - 推送:
git push。 - 拉取:
git fetch → 将远程仓库所包含分支的最新 commit-id 记录到本地文件。 - 拉取合并:
git pull → git fetch + git merge。 - 查看状态:
git status。 - 查看历史:
git log。
git 逆向操作
- 暂存区 → 本地工作区:
git restore -S。 - 本地仓库 → 暂存区:
git reset --soft。 - 本地仓库 → 本地工作区:
git reset --mixed。 - 本地仓库 →
null:git reset --hard。
git 本地仓库整理操作
- 整理上一次提交:
git commit --amend → 相同功能多次提交复用上次提交信息。 - 整理多次提交:
git rebase -i hash1 hash2(左开右关)。 - 只在私有仓库,也就是在
develop 分支上使用,因为提交的 commit-id 会发生变化。
git 分支操作
- 查看分支:
git branch。 - 创建分支:
git branch develop → 创建。git switch develop → 切换。git checkout -b develop → 创建并切换。
- 删除分支:
git branch -d develop。 - 合并分支:
- 切换到本地
master 分支,拉取远程仓库 master 最新数据。git switch master
git pull
- 切换到
develop 分支,把本地 master 合并到 develop。git switch develop
git merge master
- 如果有冲突要解决冲突,测试代码,没问题的话就提交。
vi api.hpp
git add .
git commit -m "fix:merge master"
- 切换到本地
master 分支,把 develop 合并到本地 master,最后提交到远程仓库。git switch master
git merge develop
git push origin master
git 解决冲突
- 冲突产生原因:不同分支修改了同一文件的同一行或者相邻行。
- 解决原则:
- 不要影响其他人提交的功能,也不能破坏自己提交的功能。
- 协商解决。
- 解决方式:
git merge。 - 建议:提交前先
git pull 拉取最新代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1694858.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!