1、使用git rebase
代替git merge
:git rebase
可以保持提交历史的线性和整洁。
2、交互式rebase (git rebase i
): 允许你编辑、重新排序、合并或丢弃提交。
3、变基到另一个分支 (git rebase branchname
): 将当前分支的更改应用到另一个分支上。
4、暂存部分文件 (git add p
): 允许你逐块地暂存文件的变化。
5、查看命令历史 (git reflog
): 显示所有引用的日志,包括那些不再指向任何分支的提交。
6、恢复被覆盖的文件 (git checkout <file>
): 从暂存区或最后一次提交中恢复文件。
7、撤销最后一次提交 (git reset soft HEAD~1
): 保留工作目录中的更改,但撤销提交。
8、强制推送 (git push force
): 强制覆盖远程仓库的历史。
9、删除远程分支 (git push origin delete <branch>
): 从远程仓库中删除指定的分支。
10、创建补丁 (git formatpatch
): 为一系列的提交创建补丁。
11、应用补丁 (git am
): 应用一个或多个补丁到当前分支。
12、子模块 (git submodule
): 在仓库中嵌入另一个Git仓库。
13、忽略特定文件 (.gitignore
): 创建一个.gitignore
文件来指定哪些文件应该被Git忽略。
14、别名 (git config global alias.co checkout
): 为常用命令创建快捷方式。
15、签名提交 (git commit S
): 对提交进行数字签名。
16、清理未使用的标签 (git tag l | xargs n 1 git tag d
): 删除所有未使用的标签。
17、比较分支 (git diff branch1..branch2
): 比较两个分支之间的差异。
18、检查对象大小 (git countobjects
): 检查仓库中的对象数量和大小。
19、克隆单个分支 (git clone b <branch> singlebranch <repo>
): 只克隆特定的分支。
20、浅克隆 (git clone depth=1 <repo>
): 只克隆最近的一次提交。
21、分离头部提交 (git checkout detach <commit>
): 检出特定的提交而不创建新的分支。
22、重置硬 (git reset hard <commit>
): 重置当前分支到指定的提交,并丢弃所有未提交的更改。
23、重置软 (git reset soft <commit>
): 重置当前分支到指定的提交,但保留工作目录中的更改。
24、重置混合 (git reset mixed <commit>
): 重置当前分支到指定的提交,保留未暂存的更改。
25、跟踪分支 (git branch setupstreamto=origin/<branch> <branch>
): 设置本地分支与远程分支同步。
这些技巧可以帮助你更深入地了解和使用Git,提高你的工作效率。