Git 进阶使用指南

Git 进阶使用指南

欢迎体验这份Git进阶使用指南!本文档将带你深入探索Git的高级功能和技巧,帮助你更高效地管理代码和协作开发。


1. 分支管理进阶

1.1 分支重命名

快速重命名本地分支:

bash 复制代码
git branch -m <旧分支名> <新分支名>

1.2 查看远程分支

列出所有远程分支:

bash 复制代码
git branch -r

1.3 跟踪远程分支

将本地分支与远程分支关联:

bash 复制代码
git branch --set-upstream-to=origin/<远程分支名> <本地分支名>

1.4 处理合并冲突

合并分支时若发生冲突:

  1. Git会标记冲突文件。
  2. 手动编辑文件解决冲突。
  3. 执行以下命令完成合并:
bash 复制代码
git add <冲突文件>
git commit -m "解决合并冲突"

2. 变基(Rebase)

变基可以让提交历史更线性整洁,是合并的替代方案。

2.1 基本变基

将当前分支的提交应用到目标分支:

bash 复制代码
git rebase <目标分支>

2.2 交互式变基

编辑、合并或删除历史提交:

bash 复制代码
git rebase -i <提交ID>

3. 储藏(Stash)

临时保存工作目录的更改,方便切换任务。

3.1 保存储藏

bash 复制代码
git stash save "储藏描述"

3.2 应用储藏

恢复最近的储藏:

bash 复制代码
git stash apply

3.3 查看储藏列表

bash 复制代码
git stash list

3.4 删除储藏

bash 复制代码
git stash drop <储藏ID>

4. 子模块(Submodule)

在项目中嵌入其他Git仓库。

4.1 添加子模块

bash 复制代码
git submodule add <子模块URL>

4.2 更新子模块

初始化并更新所有子模块:

bash 复制代码
git submodule update --init --recursive

5. 钩子(Hooks)

在Git事件触发时运行自定义脚本。

5.1 客户端钩子

pre-commit(提交前检查)、post-merge(合并后执行)。

5.2 服务器端钩子

pre-receive(接收推送前验证)。

钩子文件位于.git/hooks/目录下,可自定义编辑。


6. 高级配置

6.1 设置别名

简化常用命令:

bash 复制代码
git config --global alias.co checkout

6.2 忽略文件

.gitignore中添加不需要跟踪的文件或目录。

6.3 凭证管理

保存登录凭证,避免重复输入:

bash 复制代码
git config --global credential.helper store

7. 故障排除

7.1 找回丢失提交

通过引用日志找回:

bash 复制代码
git reflog

然后使用git reset <提交ID>git cherry-pick <提交ID>恢复。

7.2 强制推送

覆盖远程分支(谨慎使用):

bash 复制代码
git push -f origin <分支名>

8. 推荐学习资源


这份指南涵盖了Git的多种高级用法,希望能助力你的开发之旅!有任何疑问,欢迎交流。

相关推荐
SStone_TJ7 小时前
【常用的git命令】
git
没有鸡汤吃不下饭8 小时前
Git将某个分支合并到开发(dev)、测试(test)后突然想撤销该分支的功能,怎么处理?
前端·git·github
康一夏8 小时前
git fatal:Server aborted the SSL handshake
git·网络协议·ssl
Vio7251 天前
在IntelliJ IDEA中使用Git
git
Net_Walke1 天前
git 的常用命令
git·物联网·github·iot
L X..1 天前
Git 无法访问 GitHub(Recv failure: Connection was reset)问题解决教程
git·github
建群新人小猿1 天前
客户标签自动管理:标签自动化运营,画像持久保鲜
android·java·大数据·前端·git
来一颗砂糖橘1 天前
Git 进阶指南:深入掌握 git log 查看提交历史
git·版本控制·开发技巧
六点半8882 天前
【Git】远程操作 + 给命令配置别名 + 标签管理
git
虫师c2 天前
GitOps实战:ArgoCD+Tekton打造云原生CI/CD流水线
git·ci/cd·云原生·kubernetes·argocd·tekton