序号 | 技巧 | 描述 |
1 | 配置个人信息 | 安装Git后,首先设置全局用户名和邮箱地址,每次提交时会使用这些信息。 |
2 | Git基于指针的工作原理 | Git保存的所有内容都是文件,通过SHA1哈希值进行关联和追踪,分支和标签是指向特定提交的指针。 |
3 | 多父节点的合并提交 | 合并提交有两个或更多父节点,分别表示合并前所在的分支和被合并的分支。 |
4 | 分支与指针 | 分支指针存储在.git/refs/heads 目录下,HEAD文件位于.git/HEAD ,标签保存在.git/refs/tags 目录。 |
5 | 查看提交历史与差异 | git log 显示提交历史,git diff 比较不同提交或工作目录之间的差异。 |
6 | 重置与回退 | git reset 命令用于撤销提交或改变分支的指针,软重置、混合重置和硬重置提供不同程度的回退选项。 |
7 | 交互式暂存 | git add i 或git add interactive 允许用户交互式地选择哪些更改应被添加到暂存区。 |
8 | cherrypick | git cherrypick 将一个分支上的特定提交应用到另一个分支,有助于在不同分支间复用特定功能或修复。 |
9 | bisect | git bisect 是Git内置的二分查找工具,帮助定位引入错误的提交,节省大量调试时间。 |
10 | rebase | git rebase 用于将一个分支的变更应用到另一个分支的历史之上,可以保持提交历史的线性。 |
11 | submodule | Git子模块允许在一个仓库中嵌入其他仓库,方便管理依赖项目或代码库。 |
12 | 工作流策略 | 文章可能还会涵盖如Gitflow、Forking Workflow等不同的团队协作工作流,定义了如何有效地使用分支进行开发、合并和发布。 |
以下是两个常见问题及解答:
1、Q: 如何在解决冲突后将文件加入提交?
A: 在解决完冲突后,你需要使用git add
命令将文件标记为已解决冲突并准备提交。
“`bash
git add flash/foo.fla
git commit m "Resolved merge conflict"
“`
2、Q: 如何创建一个新的远程服务器并推送代码?
A: 你可以使用git remote add
命令添加一个新的远程服务器,然后使用git push
命令将代码推送到该服务器。
“`bash
git remote add john git@github.com:johnsomeone/someproject.git
git push john master
“`
【25个 Git 进阶技巧】
1、Gitignore 文件的最佳实践
使用.gitignore
文件排除不需要提交到仓库的文件,如配置文件、日志文件等。
确保排除的文件和目录不会影响仓库的常规操作。
2、分支管理
使用git checkout b <name>
创建并切换到新分支。
使用git merge
合并分支,git rebase
重置历史。
定期合并或合并请求,以保持分支同步。
3、标签的使用
使用git tag
创建标签,标记特定的提交。
标签可以用于发布版本,方便回滚到特定版本。
4、查看提交历史
使用git log
查看提交历史。
使用gitk
或gitk all
在图形界面查看提交历史。
5、提交消息优化
每个提交应该只包含一个更改。
使用清晰、简洁的提交消息。
6、交互式重新基础
使用git rebase i
进行交互式重新基础,修改提交历史。
优化提交历史,合并多个提交或修复提交消息。
7、分支保护
使用git push protect
保护主分支,防止意外推送到主分支。
使用git branch r d <branch>
删除远程分支。
8、撤销更改
使用git reset
撤销工作区的更改。
使用git revert
撤销特定的提交。
9、查看差异
使用git diff
查看工作区与暂存区的差异。
使用git diff staged
查看暂存区与最新提交的差异。
10、暂存多个文件
使用git add p
暂存多个文件的不同部分。
这对于只提交文件的一部分非常有用。
11、分支跟踪
使用git branch track <branch>
创建跟踪远程分支。
保持本地分支与远程分支同步。
12、分支命名规范
使用一致的命名规范,如feature/<featurename>
、bugfix/<bugid>
等。
13、合并冲突解决
当git merge
发生冲突时,手动解决冲突。
使用git mergetool
选择合并工具。
14、提交历史清理
使用git rebase
优化提交历史。
使用git filterbranch
删除旧的提交。
15、远程仓库管理
使用git remote
添加、删除和修改远程仓库。
使用git fetch
和git pull
获取远程仓库的最新更改。
16、Git钩子
使用 Git 钩子自动化流程,如precommit
、postreceive
等。
自动执行代码检查、格式化等任务。
17、忽略大文件
使用.gitattributes
文件忽略大文件。
使用git filterbranch
删除历史中的大文件。
18、使用钩子保护仓库
使用prereceive
钩子防止推送到错误的分支。
使用postreceive
钩子自动执行任务,如发送通知。
19、Git bisect
使用git bisect
寻找引入问题的提交。
通过二分查找快速定位问题。
20、Git blame
使用git blame
查看文件的每一行是谁修改的。
有助于了解代码的历史和责任。
21、Git stash
使用git stash
保存当前工作,以便切换到其他分支。
使用git stash apply
应用保存的工作。
22、Git Submodule
使用git submodule
管理外部依赖库。
使用git submodule update
更新子模块。
23、Git 多人协作
使用git pull
和git push
进行多人协作。
使用分支策略,如 Git Flow。
24、Git 客户端选择
选择合适的 Git 客户端,如 GitKraken、SourceTree 或命令行工具。
25、持续集成/持续部署 (CI/CD)
集成 Git 到 CI/CD 流程,自动化测试和部署。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1175563.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复