Git管理工具

Git的工作机制

Git的分区包括工作区、暂存区、本地仓库(本地版本库)、远程仓库(远程版本库)。

  1. 工作区
    工作区(Workspace)即本地代码所在的目录,在工作区开发,同时也是存放 .git/ (本地仓库)的目录。

  2. 暂存区
    暂存区(Index/Stage)是工作区和本地仓库的缓存空间,里面记录着即将提交给本地仓库(版本库)的文件修改信息,就先放一下,.git/ 目录里的index文件就是暂存区。

  3. 本地仓库
    本地仓库(Repository)也称本地库或版本库,存放了本地的所有版本(commit提交记录),本地仓库的文件都在 .git/ 目录中。

  4. 远程仓库
    远程仓库(Remote)在网络上,GitHub、Gitee和GitLab都能创建远程仓库,和本地仓库一样,远程仓库存放的也是不同的代码版本,只是这些版本可以来自多个本地仓库。

git的一些常用命令,命令一般是在命令行中使用,但是我们都是用IDEA集成了,不需要我们敲命令,直接图形化界面操作,底层自动执行命令完成操作,但是一些重要的命令还是需要记住。

git add 文件名                                              添加到暂存区 

git commit -m "日志信息" 文件名                 提交到本地库

我们一般的开发步骤

在Git远程库上创建分支,起名,然后拉取(克隆)项目下来,切换到你的分支上开发,不能在主分支master上开发,在你的分支开发完后,再合并到主分支上。

拉取(克隆)远程的项目,默认是拉取下master分支,

文件颜色

文件如果是红色的,说明你的文件还没add到暂存区,就是没有被git跟踪管理,只是在你工作区里。 

文件如果是绿色的,已经add到暂存区,由git管理,但是还未commit提交到本地仓库。 

文件颜色如果是白色的,说明文件已经提交到本地仓库中或已经推送到远程仓库了,且没有改动。 

 将本地仓库中的文件推送到远程仓库

可以看到已经提交到远程仓库的master分支上了

分支

Git命令

git add

将工作区的文件提交到暂存区

git commit

用于将暂存区中的文件添加到本地仓库中。

git commit -m [message]

# 提交指定的文件到暂存区
git commit [file1] [file2] ... -m [message]

# -a 参数设置修改文件后不需要执行 git add 命令,直接来提交
git commit -a

git merge

用于将一个分支的更改合并到当前分支

合并过来,linjl分支的commit会合并到master的暂存区内,可以push将linjl合并过来的代码提交到远程。

git config

可以配置 Git 的各个方面。你可以配置全局设置(适用于所有存储库)或仅针对当前存储库进行设置。

# 全局设置用户信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 查看全局配置信息
git config --global --list

git branch

用于管理 Git 存储库中的分支。它可以创建、列出、重命名和删除分支。下面是一些常用的 git branch 命令及其详细解释。

列出分支

列出所有本地分支:git branch

列出所有远程分支:git branch -r

列出所有本地和远程分支:git branch -a

创建分支

创建一个新的本地分支,但不切换到该分支:git branch new-branch

删除分支

删除本地分支:git branch -d branch-name

如果该分支尚未完全合并,使用大写的 -D 强制删除:git branch -D branch-name

删除远程分支:git push origin --delete branch-name

比较分支


 

git reset撤销

撤销到本地仓库的commit

git reflog 命令可以查看所有的 HEAD 变动记录,通过 reflog 可以找到你想要撤销到的具体提交,然后使用 git reset 回到那个提交。

git reset --hard 958d7ef5 # 撤销commit到958d7ef5,并删除958d7ef5之前所有的变更

git reset --mixed 958d7ef5 # 撤销commit到958d7ef5,并保留958d7ef5之前所有的变更到暂存区

git reset --soft 958d7ef5 # 撤销commit到958d7ef5,并保留958d7ef5之前所有的变更到工作区

比如要撤销aaa提交的话,git reset --mixed 111的哈希值

git rebase

用于将一系列提交应用到一个新的基准提交上 

git rebase --onto <new-base> <upstream> <branch>

其中:

<new-base> 是新的基础分支。
<upstream> 是你要重构的分支在原来的基础分支的位置。
<branch> 是你要重构的分支。
例如,如果你的仓库中有两个分支 A 和 B,你希望把 A 分支的提交序列应用到 B 分支上,你可以这样执行:

git rebase --onto B A

这个命令会把 A 分支的所有提交重新应用到 B 分支上,把 B 分支看做新的基础分支。这意味着 A 分支的提交会在 B 分支的后面新增,而不是在 B 分支的前面合并。

案例:

git checkout

git checkout 命令用于在不同的分支之间切换、恢复文件、创建新分支等操作。 

 

1、切换分支:

以下命令允许你从当前分支切换到指定的分支 <branch-name>:

git checkout <branch-name>

例如将你的工作目录切换到主分支:

git checkout master 

2、创建新分支并切换:

以下命令用于创建一个新分支 <new-branch-name> 并立即切换到新创建的分支:

git checkout -b <new-branch-name>

例如创建一个名为 feature-branch 的新分支并切换到它:

git checkout -b feature-branch
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

躺着听Jay

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

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

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

打赏作者

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

抵扣说明:

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

余额充值