如何提升你的 Git 技能?探索这25个进阶技巧!
- 行业动态
- 2024-09-29
- 9
当然,以下是25个Git进阶技巧的翻译:,,1. 使用
git rebase
来整理提交历史。,2. 利用
.gitignore
文件排除不需要跟踪的文件。,3. 使用
git stash
保存当前工作进度。,4. 用
git fetch
更新远程分支信息而不合并。,5. 使用
git reflog
查找丢失的提交记录。,6. 利用
git cherrypick
应用特定提交到其他分支。,7. 用
git bisect
进行二分查找以找到引入错误的提交。,8. 使用
git tag
为重要版本打标签。,9. 用
git submodule
管理子模块。,10. 使用
git log graph
查看图形化的提交历史。,11. 利用
git remote seturl
更改远程仓库URL。,12. 用
git branch d
删除本地分支。,13. 使用
git checkout orphan
创建一个全新的分支。,14. 用
git reset
回滚到之前的提交状态。,15. 利用
git revert
生成新的提交来回滚更改。,16. 使用
git clone depth
浅克隆仓库。,17. 用
git fsck
检查仓库的健康状态。,18. 利用
git filterbranch
重写历史记录。,19. 使用
git notes
添加附加注释到提交中。,20. 用
git mv
移动或重命名文件。,21. 使用
git blame
查看文件的修改历史。,22. 利用
git diff
比较文件差异。,23. 使用
git merge noff
保留合并历史。,24. 用
git push f
强制推送(慎用)。,25. 使用
git alias
定义自定义命令缩写。
序号 | 技巧名称 | 描述 |
1 | 配置个人信息 | 在安装好git后,首先要设置你的名字和电子邮箱,因为每次提交都要用到这些信息。 |
2 | Git基于指针的工作原理 | 保存在git里的一切都是文件,当你创建一个提交的时候,会建立一个包含你的提交信息和相关数据的文件,并把它链接到一个树文件中。 |
3 | 多父节点的合并提交 | 在历史中查看一个合并提交的信息时,你将看到有两个父节点(不同于工作副本上的常规提交的情况),第一个父节点是你所在的分支,第二个是你合并过来的分支。 |
4 | 合并冲突 | 解决合并冲突通常需要编辑一下文件,去掉>>>标志,保留需要留下的代码。 |
5 | 远端服务器 | git的一个超强大的功能就是可以有不止一个远端服务器(实际上你一直都在一个本地仓库上工作)。 |
6 | 在git里有两种类型的标签 轻量级标签和带注释标签,记住技巧2里说过git是基于指针的,这两者之间的差异也很简单。 | |
7 | 建立分支 | 在git里建立分支非常简单(而且像闪电一样快,因为它只需要创建一个小于100字节的文件)。 |
8 | 交互式暂存 | git add i 或git add interactive 允许用户交互式地选择哪些更改应被添加到暂存区。 |
9 | cherrypick | git cherrypick 可以将一个分支上的特定提交应用到另一个分支。 |
10 | bisect | git bisect 是Git内置的二分查找工具,可以帮助定位引入错误的提交。 |
11 | rebase | git rebase 用于将一个分支的变更应用到另一个分支的历史之上,可以保持提交历史的线性。 |
12 | submodule | Git子模块允许在一个仓库中嵌入其他仓库,方便管理依赖项目或代码库。 |
13 | 重置与回退 | git reset 命令可以用来撤销提交或改变分支的指针。 |
14 | 查看提交历史与差异 | Git提供诸如git log 和git diff 等命令来查看提交历史和文件差异。 |
15 | 使用.git目录 | 所有的分支指针都保存在.git/refs/heads里,HEAD在.git/HEAD里,而标签保存在.git/refs/tags里。 |
16 | HEAD索引 | 你也许听说过叫HEAD的索引,这只是简单的一个文件,包含了你当前指向的那个提交的SHA1索引值。 |
17 | 查看远端服务器信息 | 如果你想查看远端服务器的信息可以这样做:显示每个远端服务器的URL,提供更多详细信息。 |
18 | 比较本地和远端分支差异 | 你随时都可以查看本地分支和远端分支的差异:$ git diff master..john/master 。 |
19 | 查看没有在远端分支上的HEAD的改动 | 你可以随时查看没有在远端分支上的HEAD的改动:$ git log remote/branch.. 。 |
20 | 添加新的远端服务器 | 添加一个新的远端服务器很简单:$ git remote add john git@github.com:johnsomeone/someproject.git 。 |
21 | 检出特定版本的文件 | 你实际上可以用“git checkout —ours flash/foo.fla”和“git checkout —theirs flash/foo.fla”来检出特定版本的文件。 |
22 | 输出文件 | 你可以通过git输出文件 你可以输出到另外的文件名,然后当你决定了要用哪个后,再将选定的正确文件复制为正常的文件名。 |
23 | GPG签名标签 | 因为带注释标签有自己的信息,它可以根据需要用GPG签名。 |
24 | 解决完冲突后的操作 | 记着在解决完冲突后要将文件加入提交。 |
25 | 工作流策略 | 文章可能还会涵盖如Gitflow、Forking Workflow等不同的团队协作工作流,这些策略定义了如何有效地使用分支进行开发、合并和发布。 |
FAQs:
Q1:如何解决Git中的合并冲突?
A1:解决Git中的合并冲突通常需要编辑一下文件,去掉<<<<,====,>>>>标志,保留需要留下的代码,有时能够看到这两个修改之前的代码会很不错,在这两个现在冲突的分支之前的改动,可以使用git diff merge
来查看冲突的具体位置和内容。
Q2:如何在Git中添加一个新的远端服务器?
A2:添加一个新的远端服务器很简单,可以使用以下命令:$ git remote add [name] [url]
。$ git remote add john git@github.com:johnsomeone/someproject.git
,这样,你就添加了一个名为“john”的远端服务器,其URL是git@github.com:johnsomeone/someproject.git
。