Git-2025-0818

发布于:2025-08-19 ⋅ 阅读:(20) ⋅ 点赞:(0)

2. git 常用命令

命令

说明

git add

添加文件到暂存区

git status

查看仓库当前的状态,显示有变更的文件。

git diff

比较文件的不同,即暂存区和工作区的差异。

git difftool

使用外部差异工具查看和比较文件的更改。

git range-diff

比较两个提交范围之间的差异。

git commit

提交暂存区到本地仓库。

git reset

回退版本。

git rm

将文件从暂存区和工作区中删除。

git mv

移动或重命名工作区文件。

git notes

添加注释。

git checkout

分支切换。

git switch(Git 2.23 版本引入)

更清晰地切换分支。

git restore(Git 2.23 版本引入)

恢复或撤销文件的更改。

git show

显示 Git 对象的详细信息。

在 Git 中,`git checkout -b 目标分支 origin/目标分支` 这个命令用于从远程仓库的特定分支创建一个新的本地分支,并切换到该新分支上。这个命令实际上是两个 Git 命令的组合:

1. `git checkout -b 目标分支`:创建并切换到一个新分支。

2. `git branch 目标分支 origin/目标分支`:将远程分支设置为新创建的本地分支的上游(tracking branch)。

git checkout -b 目标分支 origin/目标分支

这里的 `目标分支` 是你想要创建和切换到的本地分支的名称,而 `origin/目标分支` 是远程仓库中对应的分支名称。这个命令的意思是:

- 从远程仓库的 `origin/目标分支` 分支检出(checkout)一个新的本地分支。

- 创建一个新的本地分支,并命名为 `目标分支`。

- 设置新创建的本地分支跟踪远程的 `origin/目标分支` 分支。

执行这个命令后,你将会在本地有一个新分支,并且这个分支会自动设置为跟踪远程仓库中的对应分支。这样,当你在本地分支上进行提交时,可以通过 `git push` 将更改推送到远程分支,也可以通过 `git pull` 从远程分支拉取最新的更改。

  • 提交日志

命令

说明

git log

查看历史提交记录

git blame <file>

以列表形式查看指定文件的历史修改记录

git shortlog

生成简洁的提交日志摘要

git describe

生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

  • 远程操作

命令

说明

git remote

远程仓库操作

git fetch

从远程获取代码库

git pull

下载远程代码并合并

git push

上传远程代码并合并

git submodule

管理包含其他 Git 仓库的项目

3. 分支管理

Git 分支管理是 Git 强大功能之一,能够让多个开发人员并行工作,开发新功能、修复 bug 或进行实验,而不会影响主代码库。几乎每一种版本控制系统都以某种形式支持分支,一个分支代表一条独立的开发线。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

  • 创建分支

创建新分支并切换到该分支:

git checkout -b <branchname>

例如:git checkout -b feature-xyz

切换分支命令:

git checkout (branchname)

例如:git checkout main

当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。

  • 查看分支

查看所有分支

git branch

查看远程分支

git branch -r

查看所有本地和远程分支

git branch -a

  • 合并分支

将其他分支合并到当前分支:

git merge <branchname>

例如,切换到 main 分支并合并 feature-xyz 分支:

git checkout main
git merge feature-xyz
  • 解决合并冲突

当合并过程中出现冲突时,Git 会标记冲突文件,你需要手动解决冲突。

打开冲突文件,按照标记解决冲突。

标记冲突解决完成:git add <conflict-file>

提交合并结果:git commit

  • 删除分支

删除本地分支

git branch -d <branchname>

强制删除未合并的分支

git branch -D <branchname>

删除远程分支

git push origin --delete <branchname>

二、在IDEA中使用Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:

  • 从远程仓库clone项目:

  • 创建分支:

以某个分支为基础创建分支:

  • 提交变更代码:

  • push至远程仓库

  • Merge分支

如何回退到历史版本

进行大量修改和多次commit之后,发现改错了;(特别是误删除了某些重要文件)

Q:如何回退到历史上的某个版本;

A:git-reset

不小心回退多了

开发过程中,偶尔会用回退操作;

Q:不小心回滚多了,代码还能找回吗?

A:git-reflog + git-reset

commit 到了错误的分支上

本应该在A分支上进行开发的,结果因为操作失误,把新增/修改的代码提交到了B分支上;

Q:不想重写一遍代码,怎么办?

A:git-cherry-pick

合并了别人的分支,又不想要了

在开发过程中,合并另一个分支到自己的开发分支是不可避免的,如果不小心合错了分支,然后又进行了多次代码修改并commit;

Q:我的分支还有救吗?

A:git-rebase


网站公告

今日签到

点亮在社区的每一天
去签到