git使用简述

1、工作区、暂存区、版本库

Git 是一个开源的分布式版本控制系统,它允许多个开发者同时在同一个项目上工作,而不会互相干扰。Git 通过三个主要的区域来管理文件的变更:工作区(Working Directory)、暂存区(Staging Area)和版本库(Repository)。

  1. 工作区(Working Directory) 工作区是文件存放的地方,也就是你的项目目录。当你在编辑器中修改文件或添加新文件时,这些文件就存在于工作区中。工作区中的文件可以是未被跟踪的(untracked),也可以是已修改的(modified)。

  2. 暂存区(Staging Area) 暂存区是一个准备下一次提交的文件列表。当你使用 git add 命令时,你实际上是将工作区中的文件变更添加到暂存区。暂存区是一个索引,它记录了下一次提交将要包含哪些文件的变更。

  3. 版本库(Repository) 版本库,也被称为.git目录,是Git用来保存项目历史记录的地方。当你执行 git commit 命令时,暂存区的文件变更会被永久保存到版本库中。版本库中保存了项目的完整历史,包括所有的提交、分支和标签。

2、常用的 Git 操作命令:

  1. 初始化仓库

    git init

    在项目目录中创建一个新的 Git 仓库。

  2. 克隆远程仓库

    git clone <repository_url>

    从远程仓库克隆整个项目到本地。

  3. 添加文件到暂存区

    git add <file_or_files>

    将更改的文件添加到暂存区,准备下一次提交。

  4. 提交更改到本地仓库

    git commit -m "Commit message"

    将暂存区的更改提交到本地仓库,并附上提交信息。

  5. 查看当前状态

    git status

    查看当前仓库的状态,包括哪些文件被修改、哪些文件在暂存区等。

  6. 查看提交历史

    git log

    查看项目的提交历史。

  7. 查看文件差异

    git diff

    查看工作目录中当前文件和暂存区或最后一次提交之间的差异。

  8. 查看远程仓库

    git remote -v

    查看远程仓库的详细信息。

  9. 拉取远程分支的更改

    git pull <remote_name> <branch_name>

    从远程仓库拉取指定分支的更改并合并到当前分支。

  10. 推送本地更改到远程仓库

    git push <remote_name> <branch_name>

    将当前分支的更改推送到远程仓库。

  11. 创建新分支

    git branch <branch_name>

    创建一个新的分支。

  12. 切换分支

    git checkout <branch_name>

    切换到指定的分支。

  13. 删除分支

    git branch -d <branch_name>

    删除本地分支。

  14. 查看分支图

    git branch -vv

    以图形方式显示本地分支和远程分支的状态。

  15. 查看远程分支的提交

    git fetch

    从远程仓库获取所有分支的最新状态,但不自动合并到当前分支。

  16. 合并分支

    git merge <branch_name>

    将指定分支的更改合并到当前分支。

  17. 撤销工作目录中的更改

    git checkout -- <file_name>

    撤销对指定文件的更改,如果已经将更改添加到暂存区,但尚未提交,可以使用重置暂存区下命令撤销暂存区的更改,然后再撤销工作目录中的更改

  18. 重置暂存区

    git reset HEAD <file_name>

    将暂存区的文件撤销到最后一次提交的状态。

  19. 重置当前分支

    git reset --hard

    将当前分支重置到最后一次提交的状态,放弃所有未提交的更改

  20. 配置 Git

    • 查看配置:git config --list
    • 设置全局用户名:git config --global user.name "Your Name"
    • 设置全局邮箱:git config --global user.email "your_email@example.com"
相关推荐
Linux实战笔记2 小时前
rebase 变基引发提交哈希重写与指针机制分析
git·rebase·提交哈希·分支模型·代码合并
小稀土1233 小时前
私有化研发协同系统并行期:旧 Jira 与新 Git 并存 6 条数据规则
git
Madison-No74 小时前
Git版本控制工具(二)
git
Brookty7 小时前
Git 与 GitHub|第一阶段:仓库、版本历史与 Git 对象模型(上篇)
git·github
Kimnol21 小时前
我的第一次 Git 贡献:从 fork 到合并 PR #3130
git
鬼手点金1 天前
消息的四种角色
java·前端·人工智能·git·深度学习
齐 飞2 天前
idea中git误操作撤回git reset --hard ‘HEAD@{1}‘
java·git·intellij-idea
长成一棵参天树2 天前
React15 vs React16 核心区别
git·vscode
驭渊的小故事2 天前
Git 基础操作与对象观察
git
Hvitur2 天前
Gitea 版本控制服务端【Red Hat 离线安装】
git