1. 分支与合并
分支允许您在不影响主分支的情况下更改测试代码。使用 git checkout
在尝试新功能或修复错误时,创建新的分支并使用它。完成后,使用 git merge
合并回主分支将进行更改。
示例代码:
git checkout -b new-feature // 在 new-feature 更改分支 git checkout main git merge new-feature
2. 暂存工作
使用 git add
将您想要跟踪的更改添加到临时存储区域。这使得您可以在不提交所有修改的情况下选择性地提交更改。
示例代码:
git add MyFile.java
3. 提交并推送
git commit
将临时存储区域的变更提交当地存储库。然后,使用 git push
将变更推送到远程存储库,以便其他团队成员能够访问。
示例代码:
git commit -m "Fixed bug in MyFile" git push
4. 代码审查
Git 为了提高代码质量和合作,提供了审查代码的功能。使用 git request-pull
创建合并请求,让其他人在合并前审查您的变更并提供反馈。
示例代码:
git request-pull main new-feature
5. 冲突解决
当多个当开发人员同时更改相同的文件时,可能会发生合并冲突。使用 git mergetool
手动编辑文件或使用冲突 git checkout -ours
或 git checkout -theirs
选择一方的变更。
示例代码:
git mergetool
6. 标签和版本
特定版本的代码快照可以创建标签。使用 git tag
在使用前创建标签 git checkout
切换到这个版本。
示例代码:
git tag v1.0.0 git checkout v1.0.0
7. 远程跟踪分支
远程跟踪分支与远程存储库中的分支关联。使用 git remote add
将远程存储库添加到您的本地存储库中,然后使用 git fetch
提取其分支。
示例代码:
git remote add origin https://GitHub.com/my-org/my-repo.git git fetch origin
8. 子模块
子模块允许您在您的外部存储库中包含外部存储在项目中。使用 git submodule add
并使用添加子模块 git submodule update
更新其内容。
示例代码:
git submodule add Https://github.com/my-org/my-submodule.git git submodule update
9. Git Hooks
Git Hooks 允许您在特定事件(如提交或拉取)中自动执行自定义脚本。使用 git config
设置钩子,使用脚本语言(如 Bash 或 python)编写脚本。
示例代码:
# pre-commit 钩子,在提交前运行 git config core.hooksPath ~/.git-hooks echo "#!/bin/bash" > ~/.git-hooks/pre-commit echo "echo "You are about to commit"; exit 1" >> ~/.git-hooks/pre-commit chmod +x ~/.git-hooks/pre-commit
10. Git Large File Storage (LFS)
LFS 在提交历史记录时,允许您跟踪和管理大文件(如图像或多媒体文件)。使用 git lfs
安装 LFS,并用 git lfs track *.png
跟踪文件。
示例代码:
git lfs install git lfs track *.png
总结:
掌握这些 Git 秘籍,Java 开发人员可以提高代码管理、协作和质量。从分支和合并到标签和子模块,Git 全面提供工具集使团队能够有效地工作,并创建更强大的应用程序。