Git 的正确使用姿势与最佳实践:团队协作和版本控制的最佳实践 | 青训营

59 阅读3分钟

一、Git基础命令

Git 是当今最流行的版本控制系统之一,用于协助开发人员管理项目代码、进行团队协作和保持代码历史记录,通过代码审查促进团队合作,确保代码质量。

1. 创建和初始化仓库:

  • git init: 初始化一个新的 Git 仓库。
  • git clone <repository>: 克隆一个远程仓库到本地。

2. 添加和提交代码:

  • git add <file>: 将文件添加到暂存区,准备提交。
  • git commit -m "message": 提交暂存区中的代码到本地仓库,并添加提交消息。
  • git commit -a -m "message": 直接提交已跟踪文件的更改,跳过 git add 步骤。

3. 分支管理:

  • git branch: 列出所有分支,包括当前分支。
  • git branch <branch-name>: 创建一个新分支。
  • git checkout <branch-name>: 切换到指定分支。
  • git merge <branch-name>: 将指定分支合并到当前分支。

4. 查看状态和变更:

  • git status: 显示工作目录中文件的状态,是否已修改或暂存。
  • git diff: 显示当前工作目录和暂存区之间的差异。

5. 远程操作:

  • git remote -v: 显示远程仓库的URL。
  • git remote add <name> <url>: 添加一个远程仓库。
  • git pull <remote> <branch>: 从远程仓库拉取并合并变更。
  • git push <remote> <branch>: 将本地分支的变更推送到远程仓库。

6. 日志和历史:

  • git log: 显示提交历史记录。
  • git log --oneline: 显示简化的提交历史。
  • git show <commit>: 显示指定提交的详细信息。

7. 撤销和回退:

  • git reset <file>: 取消对文件的暂存。
  • git reset --hard <commit>: 将工作目录和暂存区恢复到指定提交的状态。
  • git checkout -- <file>: 恢复文件到最近一次提交的状态。

8. 标签和版本:

  • git tag: 列出所有标签。
  • git tag <tag-name>: 创建一个轻量级标签。
  • git tag -a <tag-name> -m "message": 创建一个带注释的标签。

9. 忽略文件和目录:

  • .gitignore 文件: 定义要在版本控制中忽略的文件和目录。
  • git rm --cached <file>: 从版本控制中移除文件,但保留在本地文件系统。

10. 合并和变基:

  • git merge <branch>: 将指定分支的更改合并到当前分支。
  • git rebase <branch>: 将当前分支的更改在指定分支上重新应用。

二、团队实践

项目运行过程中不可避免需要同时开发,但具体过程中遇到了以下问题,主要使用的终端进行git指令尝试在powershell和git bash中进行但有一定的问题,桌面运行出错没有找到对应文件夹,对应指令出错,代码更新有问题等等。

1、powershell与git bash使用区别

1. 命令行分隔符:

  • Git Bash 使用类似于 Unix/Linux 的命令行分隔符(/),例如:git log --oneline
  • PowerShell 使用 Windows 风格的命令行分隔符(``),例如:git log --oneline

2. 命令参数和选项:

  • 在 Git Bash 中,可以使用 Unix 风格的参数(例如:-a),也可以使用长选项(例如:--all)。
  • 在 PowerShell 中,通常使用 Windows 风格的参数(例如:/a)。

3. 路径分隔符:

  • Git Bash 使用正斜杠 / 作为路径分隔符,例如:/path/to/repo
  • PowerShell 使用反斜杠 `` 作为路径分隔符,例如:C:\path\to\repo

4. 管道和重定向:

  • 在 Git Bash 中,可以使用管道 | 和重定向 > 等类似 Unix 的操作。
  • 在 PowerShell 中,使用管道 | 和重定向 > 以及 PowerShell 特有的 cmdlet 来进行操作。

5. 命令别名:

  • PowerShell 提供了许多命令的别名,可以通过不同的名称调用相同的命令。这可能会导致某些 Git 命令使用不同的别名。

2、具体文件

cd 具体文件名进入对应文件夹 主要是一些小白问题,但在学习过程中无从下手的时候也会想要一步一步的指导,积累知识之后更好的实现团队代码。