Git的命令使用与IDEA内置git图形化的使用

Git 简介

Git 是分布式版本控制系统,它可以帮助开发人员跟踪和管理代码的更改。Git 可以记录代码的历史记录,并允许您在不同版本之间切换。

通过历史记录可以查看:

  • 进行了哪些更改?
  • 谁进行了更改?
  • 何时进行了更改?
  • 为什么需要更改?

  1. 仓库

仓库是用于存储代码的地方,其中包含所有的文件和历史记录。仓库可以被克隆到本地,这样您就可以在本地进行修改,并在需要时提交到远程仓库。

托管Git远程仓库:

  • githup
  • gitee
  • gitlab
  • gitcode
  1. 提交(Commit)
    提交是 Git 中的一个操作,表示将更改保存到仓库中。每次提交都会创建一个新的版本,您可以在任何时候查看之前的提交。
  2. 分支(Branch)
    分支是在仓库中创建的并行开发线。不同的分支可以用于不同的功能开发或修复错误。您可以在分支上工作,而不影响主分支。完成工作后,可以将分支合并回主分支。
  3. 合并(Merge)
    合并是将两个或多个分支的更改合并到一起的操作。这通常发生在一个分支完成其任务,需要将其更改整合到主分支或其他分支时。
  4. 拉取请求(Pull Request)
    拉取请求是在使用 Git 进行团队协作时常用的步骤。它表示一个开发者请求将他们的分支合并到主分支或其他分支。在合并之前,团队成员可以检查更改并提供反馈。
  5. 克隆(Clone)
    克隆是将远程仓库复制到本地机器的过程。这样,您就可以在本地对仓库进行操作,而不需要连接到远程仓库。
  6. 推送(Push)
    推送是将本地提交上传到远程仓库的操作。这使得其他人可以拉取您的更改。
  7. 拉取(Pull)
    拉取是从远程仓库获取更新并合并到本地仓库的操作。它通常结合了 Fetch(获取更新)和 Merge(合并更新)两个步骤。
    Git 是一个功能强大的工具,它提供了一套完整的版本控制策略,可以帮助团队协作开发代码,并管理软件项目的整个生命周期。

Git 相关操作

  • Git 基本操作:
    git status: 查看本地仓库的状态,包括哪些文件被修改、暂存或未跟踪。
    git add: 将修改的文件添加到暂存区(staging area),准备提交。
    git commit: 提交暂存区中的修改到本地仓库,生成新的提交记录。
    git push: 将本地仓库的提交推送到远程仓库,与其他团队成员共享更改。
    git pull: 从远程仓库拉取最新的更改,并合并到本地仓库。
    git clone: 克隆一个远程仓库到本地,创建一个新的本地仓库副本。

  • Git 分支管理:
    git branch: 显示所有本地分支。
    git checkout: 切换到另一个分支。
    git branch [分支名]: 创建一个新的分支。
    git merge: 合并一个分支到当前分支。

  • Git 远程仓库:
    git remote: 显示所有远程仓库。
    git add remote [仓库名] [仓库地址]: 添加一个新的远程仓库。
    git push [仓库名] [分支名]: 将本地分支推送到远程仓库。
    git pull [仓库名] [分支名]: 从远程仓库拉取并合并到本地分支。

  • Git 撤销操作:
    git reset: 撤销已经提交的更改,有不同的模式可以选择,如 soft, mixed, hard(与上一次commit保持一致)。
    git revert: 创建一个新的提交来撤销之前的更改,而不影响历史记录。

  • Git 标签:
    git tag: 显示所有标签。
    git tag [标签名]: 创建一个标签。
    git push [仓库名] [标签名]: 将标签推送到远程仓库。
    git push [仓库名] --tags: 将所有标签推送到远程仓库。

  • Git 日志:
    git log: 显示提交历史记录。
    git log --pretty=oneline: 以简洁的格式显示提交历史。
    git log [分支名]: 显示特定分支的提交历史

  • Git 删除:
    git push [仓库名] [:分支名]: 删除远程分支或标记。

  • git 已经被管理的文件取消管理
    git rm -r --cached [文件名]

IDEA Git操作

管理分支

合并分支:

合并分支

  1. Merge(合并)

分支的提交产生一个新的记录,合并到另一个分支。

在这里插入图片描述

  • 优点:
    • 更加安全,不改变分支线
    • 保留分支历史,每个分支的历史将被保留
    • 使用简单
  • 缺点:
    • 分支线混乱,在合并后都会产生新节点
    • 关系不清晰,分不清是合并还是原始的节点
  1. Rebase (变基)

重新拉取一个Release分支,把这个分支提交记录放在最新,再通过merge合并Release分支
在这里插入图片描述

  • 优点:
    • 干净的提交历史
    • 关系清晰
  • 缺点:
    • 改变提交记录,可能会改变提交顺序

不要在公共分支执行Rebase


在不同分支合并提交代码:
  1. cherry-pick(优选)

将一个分支中的提交合并到另一个分支,无冲突直接合并,有冲突解决冲突再合并。

  • 切换到合并的分支
  • 使用 git cherry-pick [提交记录号…]

优选

  1. patch(补丁)

将提交形成补丁,在其他分支应用这个补丁。

  • 生成补丁
git format-patch -1 -o /Users/apple

format-patch: 补丁命令
-1 : 最近提交,可以定义最近的几次提交(3为最近3次)也可以使用提交记录号
-o /Users/apple: 补丁文件路径

  • 应用补丁
// 检查补丁
git apply --stat 补丁路径
// 检验是否能打上补丁
git apply --check 
// 打补丁
git am 补丁路径

可多选提交,然后创建补丁
补丁
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


中途切换分支:
  1. stash (暂存)

在切换分支前,将当前变更暂存到栈中,并添加暂存注释,查看暂存区记录,恢复暂存记录。

  • 变更暂存到栈中
git stash
  • 添加暂存注释
git stash save '注释'
  • 查看暂存记录
git stash list
  • 恢复暂存记录
// 恢复最近暂存记录 ,会在暂存区删除
git stash pop
// 恢复最近暂存记录 ,不会在暂存区删除
git stasjh apply stash@{编号}
// 只移除暂存信息,不做恢复
git stasjh drop stash@{编号}
// 查看与本地代码区别
git stash show

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给开源项目提交代码
  1. Fork

使用Fork将开源项目代码快照存在自己的远程仓库,然后拉取代码,新建分支,修改代码,提交推送
在这里插入图片描述

  1. PR

合到开源项目中

在这里插入图片描述
在这里插入图片描述


回退代码
  1. Revert(还原)

撤销某些提交,并用新提交覆盖。(逆向生成)

在这里插入图片描述
在这里插入图片描述
对刚刚还原的提交记录进行还原,就可以将之前还原的重新提交了
在这里插入图片描述

  1. Reset(回退)

在这里插入图片描述
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天将降大任于我

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

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

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

打赏作者

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

抵扣说明:

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

余额充值