Git 使用

总述

本文参考了孟宁老师的文章五⼤场景玩转 Git,只要这一篇就够了!

Git,全称为分布式版本控制系统,可以高速处理项目的版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地仓库,也可以提交到远程仓库。

Git 的基本原理

一、本地仓库

1. 创建仓库

git init                     # 将空文件夹变为本地仓库
git add <file>               # 将工作区文件添加到暂存区
git commit -m <message>      # 将暂存区文件提交到本地仓库

第一步,创建本地仓库 gitTest,并创建测试文件 brandy.txt

第二步,将 brandy.txt 添加到暂存区

第三步,将 brandy.txt 提交到本地仓库

2. 回退版本

git log --pretty=oneline         # 查看提交历史,只呈现一行
git reset --hard <commit-id>     # 回退,并修改工作区文件

回退:sherry 版本 → cocktail 版本

第一步,查看提交历史,确定回退 id = 62e34

第二步,回退到 cocktail 版本

撤销回退:cocktail 版本 → sherry 版本

第一步,查看提交历史,确定回退 id = 19afd

第二步,回退到 sherry 版本

3. 撤销修改

git restore <file>              # 从暂存区恢复工作区
git restore --staged <file> 	# 从本地仓库恢复暂存区

二、远程仓库

1. 建立 SSH 连接

ssh-keygen -t rsa -C <message>      # 生成 rsa 私钥和公钥
ssh -T git@github.com               # 验证是否连接成功

第一步,生成私钥 id_rsa 和 公钥 id_rsa.pub

第二步,将公钥 id_rsa.pub 中的内容复制到 Github → Setting → SSH and GPG keys 处

第三步,验证连接是否成功

2. 操纵远程仓库

git remote                   # 简单列出远程仓库
git remote add <name> <url>  # 添加远程仓库
git push <rep> <branch>      # 推送本地仓库到远程仓库
git clone <url>              # 克隆远程仓库到本地仓库

三、分支管理

1. 创建分支

git branch             # 查看分支
git branch <name>      # 创建分支
git branch -d <name>   # 删除分支
git switch <name>      # 切换分支
git switch -c <name>   # 创建并切换分支
git merge <name>       # 合并到当前分支

2. 解决冲突

发生冲突

原因:对于 brandy.txt 文件,在 dev 分支提交 Bordeaux 版本,在 master 分支提交 cider 版本,合并时造成冲突。

解决

打开 brandy.txt 文件,将错误信息覆盖后,再次提交,并使用以下命令查看分支合并情况:

git log --graph --pretty=oneline --abbrev-commit 	# 查看分支合并情况

3. 多人协作

第一步,模拟第二个用户,将远程仓库克隆到本地仓库,修改完成后,将 Gimlet 版本提交到远程仓库。

第二步,第一个用户在第二个用户提交 Gimlet 版本后,将 Manhattan 版本提交到远程仓库,出现报错。

原因:对于远程仓库同一分支下的 brandy.txt 文件,出现两用户的两个版本,产生冲突。

解决

git branch --set-upstream-to=<rep/branch> branch      # 设置本地分支与远程分支的链接
git pull                                              # 抓取远程仓库

原因:遇到分支管理中的 2. 解决冲突,解决方法一样

4. Rebase

git rebase -i <commit-id>    # 变基
git rebase --continue        # 继续变基

原先分支情况

变基

之后分支情况

结语

Git 的指令十分广泛,只一些基本指令就令人惊奇,希望在今后能不断加深对 Git 的学习与理解。

posted @ 2020-10-18 21:39  理实交融  阅读(100)  评论(0编辑  收藏  举报