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 "[email protected]"
相关推荐
belldeep7 小时前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep7 小时前
Git安装教程及常用命令
git
sduwcgg16 小时前
git经验
git
麻雀无能为力16 小时前
git的使用
git
算法歌者19 小时前
Visual Studio 项目 .gitignore 文件指南
git·visual studio
江边垂钓者19 小时前
git cherry-pick和git stash命令详解
git
Lw老王要学习19 小时前
Linux架构篇、第五章git2.49.0部署与使用
linux·运维·git·云计算·it
爱学习的张哥19 小时前
专栏项目框架介绍
git·fpga开发·udp·ddr·gt收发器
Aric_Jones1 天前
lua入门语法,包含安装,注释,变量,循环等
java·开发语言·git·elasticsearch·junit·lua
Sapphire~1 天前
odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件
ide·git·pycharm