git 代码管理02--L

四、gitlab和github

1、gitlab配置公钥

1)找到 id_rsa.pub,复制内容。
2)GitLab -> 我的头像 -> Prefereces。
3)SSH keys。
4)粘贴公钥,点击 add key。

2、GitLab 创建项目

1)点击 New project 按钮。
2)选择项目类型,点击 Create blank project 从空项目开始创建。

3、gitlab实战

1)克隆项目到本地。

2)创建分支。
    git checkout -b 分支名
    # 切换到指定分支或master
    git checkout 分支名
    git checkout master
3)添加内容。
4)提交内容。
5)更新本地项目。
# 克隆项目到本地
git clone xxx
# 添加内容
git add .
# 提交内容(提交到哪个分支)
git push
# 更新本地项目
git pull

4、github注册账号

* 官网:https://github.com。
* 选择 sign up。
* 填写 email。
* 填写 password。
* 填写 username。
* 人机确认
* 点击注册。
* 发送确认邮件到邮箱。
* 邮件中找到注册确认码,填入确认输入框。
* 注册成功。

5、GitHub配置公钥

* 找到 id_rsa.pub,复制内容。
* GitHub -> 我的头像 -> Settings。
* SSH and GPG keys。
* New SSH Key。
* 粘贴公钥,点击 add ssh key。

6、GitHub 创建仓库

1)在 sign in 界面输入邮箱和密码,点击登录。
2)进入首页,左侧展示仓库列表。
3)新建仓库:New 按钮。

7、GitHub 实战

1)克隆项目到本地。
2)添加内容。
3)提交内容。
4)更新本地项目。
# 克隆项目到本地
git clone xxx
# 添加内容
git add .
# 提交内容
git push
# 更新本地项目
git pull

五、 Git 客户端

1、 Git 结合 IDE 的优点

  • 可视化强
  • 操作简单、上手便捷

2、 PyCharm 配置 Git

  • 步骤:Settings/Preferences → Version Control → Git

3、 PyCharm 配置 GitHub

  • 步骤:Settings/Preferences → Version Control → GitHub
  • 登录方式:
    • 用户名密码方式登录。
    • Token 方式登录:
      • GitHub 获取 token。
      • 配置 Token 登录。


4、 PyCharm 配置 Gitee

  • 安装 Gitee 插件:Settings/Preferences → Plungins → Marketplace

  • 配置 Gitee:Settings/Preferences → Version Control → Gitee
  • token获取:登录gitee,点击头像进入设置,点击私人令牌,生成新令牌,点击提交,复制token


5、 PyCharm Git 操作实战

  • 添加内容
  • 提交内容
  • 更新本地项目
  • 版本对比


6、 PyCharm Git 日志管理

  • 查看提交记录
  • 回退到某次提交记录
  • 搜索与筛选

  • 想要回退到某一次版本时,选择hard强制回退

6、gitlog分析与调查

(1) 查看项目历史信息:
  • git log
(2) Git Log 检索
  • 筛选时间:
    • git log --since=‘2023-02-02 00:00:00’
  • 筛选作者:
    • git log --author=‘xxx’
  • 筛选描述:
    • git log --grep=‘update’

六、分支管理策略

1、 分支管理

  • 概念:
    • 每次提交,Git 都把它们串成一条时间线,这条时间线就是一个分支。
  • 价值:
    • 多人协作。
    • 环境管理。

2、 创建分支

  • 新建分支,但仍然停留在当前分支:
    • git branch 分支名
  • 新建分支并直接切换至该分支:
    • git checkout -b 分支名

3、 查看分支

  • 列出所有本地分支:
    • git branch
  • 列出所有远程分支:
    • git branch -r
  • 列出所有本地与远程分支(远端的会有remotes开头):
    • git branch -a

4、 切换分支和删除分支

  • 切换到指定分支:
    • git checkout 分支名
  • 删除指定分支:
    • git branch -d 分支名

七、git合并与冲突

1、 分支合并应用场景

  • 合入主分支。
  • 主分支合并其他分支:
    • 通常使用 Merge Request 的方式。

image

2、 合并分支

  • 合并指定分支到当前分支:
    • git merge 其他分支 本分支

image

  • 变基:重新设置基准(不是很推荐):
    • git rebase 其他分支

image

快速合并

3、 冲突

  • 冲突:在并行工作的模式下,工作最终会发生重叠。当多个成员以不同的方式更改同一行内容时,在这种情况下,Git 无法判断哪个版本是正确的,这时就会产生冲突。
  • 冲突场景:
    • 多个分支代码合并到一个分支时。
    • 多个分支向同一个远端分支推送代码时。

4、 解决冲突

  • 解决冲突方式:
    • IDE 中解决冲突:选择要保留的内容点击 Accept,保存代码。
    • 文件中解决冲突:保留需要的内容,删除其余内容,去掉分割线,保存代码。
  • 冲突解决流程:
    • 在本地当前分支上,修改冲突内容。
    • 执行 git add . 添加到暂存区。
    • 执行 git commit -m '提交说明' 提交到本地仓库,完成合并。
    • 执行 git push 提交到远程仓库。

解决冲突:方法一

  • 最后再:git merge dev bugfix

解决冲突:方法二

  • 使用 Visual Studio Code 打开冲突的文件,可以选择当前更改或保留双方更改等并保存
    • 再执行git add .
    • 然后git commit -m “解决冲突”
    • 最后 git merge dev bugfix