当然,以下是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
。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1100780.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复