Git代码管理

目录:

  1. git环境配置        
  2. git工作流程
  3. git常用命令
  4. gitlab实战
  5. gitlog分析与检索
  6. 分支管理策略
  7. git合并与冲突

1.git环境配置        

Git 简介:

  • Git 是目前世界上最先进的分布式版本控制系统。
  • Git 优点:
    • 适合分布式开发,强调个体。
    • 公共服务器压力和数据量都不会太大。
    • 速度快、灵活。
    • 任意两个开发者之间可以很容易的解决冲突。
    • 离线工作。

Git 环境验证:

  • Windows:
    • cmd 中输入命令 git --version
  • MacOS:
    • 终端中输入命令 git --version

2.git工作流程

Git 基本概念:

  • 文件状态
    • 未跟踪(Untracked)
    • 未修改(Unmodified)
    • 已修改(Modified)
    • 暂存区(Staged)
  • 三个工作区域
    • 工作区(Working Directory)
    • 暂存区(Staging Area)
    • 仓库区(Repository)
  • 工作树(Worktree)

PlantUML diagram

Git 工作流程:

PlantUML diagram

3.git常用命令

基于 Git 的远程仓库:

  • GitHub        https://github.com/    世界上最主流的远程开源仓库。
  • Gitee           https://gitee.com/      国内目前比较主流的开源仓库,也可以私有化部署。(推荐)
  • GitLab         https://gitlab.com/      私有化部署,企业使用较多。

Git 同步命令:

克隆远程仓库:

  • git clone <url>

       远程连接方式                       特点

  • HTTPS                                 连接使用给定 URL 即可 clone,在 push 时验证用户名和密码。
  • SSH 连接                             需要提前添加 SSH Key,在 push 时不需要输入用户名,配置                                         SSH 时设置了密码才需要输入密码。 

HTTPS 连接:

  • 配置全局帐号:
    • 配置用户名:git config --global user.name "your name"
    • 配置邮箱:git config --global user.email "your_email@youremail.com"
  • 验证配置结果:git config --global --list

SSH 连接:

拉取远程仓库:

  • 拉取远程仓库到本地:
    • git pull

初始化仓库:

  • 在已存在的目录中初始化仓库:
    • git init
  • 关联远程仓库:
    • git remote add origin <url> 

Git 修改命令:

跟踪新文件:

  • 添加文件或目录到暂存区:
    • git add <file>/<directory>

# 跟踪某个文件

git add new_file.txt

# 跟踪当前目录下所有文件

git add . 

提交更新:

  • 提交到本地仓库:
    • git commit -m "comments"

推送到远程仓库:

  • 推送本地仓库到远程仓库:
    • git push

Git 常用调试命令:

检查当前文件状态:

  • 查看文件状态:
    • git status

查看已暂存和未暂存的修改:

  • 比较当前文件和暂存区域快照之间的差异:
    • git diff
  • 查看已暂存的将要添加到下次提交里的内容:
    • git diff --staged

撤销操作:

  • 撤销对文件的修改:
    • git checkout <file>
  • 取消暂存:
    • git reset HEAD <file>

cat readme.txt

1234

update1

update2

update3

git checkout readme.txt

cat readme.txt

1234

update1

update2

git reset HEAD file.txt

git status

On branch master

Untracked files:

         (use "git add <file>..." to include in what will be committed)

         file.txt

nothing added to commit but untracked files present (use "git add" to track) 

移除文件:

  • 删除文件:
    • git rm -f <file>
  • 移出暂存区:
    • git rm --cached <file> 

忽略文件:

  • .gitignore 文件。
  • 有些文件无需纳入 Git 的管理。
  • 比如日志文件,或者编译过程中创建的临时文件。

4.gitlab实战

GitLab 帐号:

  • 申请账号。
  • 申请权限。

配置公钥:

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

 

5.gitlog分析与检索

Git Log 分析:

  • 查看项目历史信息:
    • git log

Git Log 检索:

  • 筛选时间:
    • git log --since='2023-02-02 00:00:00'
  • 筛选作者:
    • git log --author='feier'
  • 筛选描述:
    • git log --grep='update'

6.分支管理策略

分支管理:

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

创建分支:

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

查看分支:

  • 列出所有本地分支:
    • git branch
  • 列出所有远程分支:
    • git branch -r
  • 列出所有本地与远程分支:
    • git branch -a

切换分支:

  • 切换到指定分支:
    • git checkout 分支名

删除分支:

  • 删除指定分支:
    • git branch -d 分支名

7.git合并与冲突

分支合并应用场景:

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

合并分支:

  • 合并指定分支到当前分支:
    • git merge 其他分支 本分支
  • 变基:重新设置基准:
    • git rebase 其他分支

什么是冲突?

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

解决冲突:

  • 解决冲突方式:
    • IDE 中解决冲突:选择要保留的内容点击 Accept,保存代码。
    • 文件中解决冲突:保留需要的内容,删除其余内容,去掉分割线,保存代码。
  • 冲突解决流程:
    1. 在本地当前分支上,修改冲突内容。
    2. 执行 git add . 添加到暂存区。
    3. 执行 git commit -m '提交说明' 提交到本地仓库,完成合并。
    4. 执行 git push 提交到远程仓库。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
git 代码管理规范通常包括以下几个方面: 1. 分支管理:使用合适的分支策略,例如主分支(master/main)、开发分支(develop)、功能分支(feature)、修复分支(hotfix)等。确保每个分支的作用清晰,遵循分支的创建、合并和删除规则。 2. 提交规范:每次提交都应该有明确的目的和描述,使用有意义的提交消息,以便其他人能够理解代码变更的目的。可以使用规范化的提交消息格式,如 Conventional Commits。 3. 代码审查:进行代码审查是保证代码质量和团队合作的重要环节。确保每个代码变更都经过审查,并及时给予反馈和建议。 4. 版本标签:在代码达到一个重要里程碑或版本发布时,使用版本标签进行标记。这有助于团队成员快速定位和使用特定版本的代码。 5. 冲突解决:当多人同时修改同一文件或同一部分代码时,可能会发生冲突。在解决冲突时,应及时与相关人员协商并选择合适的解决方案。 6. 忽略文件:在项目中使用.gitignore文件,忽略不需要版本控制的文件和文件夹,如临时文件、日志文件等。 7. 规范化命名:代码文件、变量、函数、类等的命名应清晰、一致,并符合项目的命名约定或规范。 8. 文档管理:在代码中添加必要的注释,并编写清晰易懂的文档,包括项目说明、API文档、使用说明等,以便团队成员理解和使用代码。 以上是一些常见的git代码管理规范,具体的规范可以根据团队的需求和项目的特点进行适当调整和补充。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿瞒有我良计15

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值