Git精通:揭示版本控制的 14 个高级技巧

如果你从事软件开发,那么你极有可能使用Git(或其他版本控制系统)。以下详细介绍了14个Git功能,这些功能对于新手来说可能并不立即显而易见。

  1. 1. git add中的正则表达式应用

  • • git add命令接受正则表达式,用于选择性地暂存文件。

  • • 示例:git add *.py 暂存所有以.py结尾的文件。

  • None

  • • 示例:git add hello*.py 暂存所有以"hello"开头并以.py结尾的文件。

  • None

  • 2. .gitignore中的正则表达式

    • • .gitignore文件指定要从Git跟踪中排除的文件和目录。

    • None

    • • 可以通过列出文件名来忽略单个文件。

      • None

      • • 正则表达式支持基于模式的排除。

      • • 示例:将hello*.py添加到.gitignore会忽略所有匹配该模式的文件。

      • • 使用git status 会显示在.gitignore文件中匹配表达式的文件不被追踪。

    1. 3. git push origin HEAD用于简化分支推送

      • • git push origin HEAD提供了一个简洁的替代方案,用于替代git push origin longass_branch_name

      • None

      • • 这简化了从冗长的分支名称推送更改。

      • None

      • • 无需键入完整的分支名称,HEAD引用当前分支。

    2. 4. git checkout ABCgit checkout -b ABC之间的区别

      • • git checkout ABC切换到名为ABC的现有分支。

      • • git checkout -b ABC创建一个名为ABC的新分支并切换到该分支。

      • None

    3. 5. 理解git merge功能

      • • git merge将另一个分支的更改集成到当前分支中。

      • • 它有效地将远程分支的更改“下载”到本地分支中。

      • • 示例:git merge testbranchtestbranch中的更改合并到当前分支中。

      • None

      • • merge 命令的输出将会显示已经被创建或者修改的文件。

    4. 6. 用于冲突缓解的先发制人的git pull

      • • 在开始新的功能开发之前执行git pull可以最大限度地减少合并冲突。

      • • 合并冲突是由多个开发人员同时修改同一文件引起的。

      • • 先发制人的git pull确保本地代码库是最新的,并降低潜在冲突的复杂性。

    5. 7. 分支重命名:mainmaster

      • • 在许多组织中,术语“master”正在被“main”取代,以促进包容性术语。

      • • 许多CICD管道可能需要修改,以反映这一变化。

    6. 8. 合并后分支删除

      • • 成功合并后删除分支可以防止未使用的分支累积。

      • • 不必要的分支会使.git/refs/heads目录混乱,从而可能影响性能。

      • • 在合并分支后删除分支是一种良好的做法。

    7. 9. git commit --amend用于提交修改

      • • git commit --amend修改最近一次提交,而不是创建新的提交。

      • None

      • • 这通过将相关更改合并到单个提交中来维护更清晰的提交历史记录。

      • None

      • • 当在提交后进行其他更改时,这非常有用。

      • None

    8. 10. git log --oneline用于简洁的提交历史记录

      • • git log --oneline以紧凑的单行格式显示提交历史记录。

      • None

      • • 这有助于高效浏览提交日志。

      • None

    9. 11. 理解git rebase

      • • git rebase通过更改分支的基准来“重写”提交历史记录。

      • None

      • • 它模拟从目标分支上的较新提交进行分支。

      • • git rebase <base>将当前分支重新定位到指定的基准上。

      • • 图形界面可以提供拖放式重新定位功能。

    10. 12. git reset用于本地更改还原

      • • git reset撤销本地更改,例如暂存的文件。

      • None

      • None

      • • 它还原git add的效果。

      • None

    11. 13. git reset --soft <commit_id>用于提交还原和更改保留

    12. None

      • • git reset --soft <commit_id>还原到指定的提交,同时在本地保留后续更改。

      • None

      • • 在还原提交后进行的更改仍然可以访问。

      • None

      • • 在使用此命令重写历史记录后,需要git push --force

    13. 14. git reset --hard <commit_id>用于提交还原和更改丢弃

    14. None

      • • git reset --hard <commit_id>还原到指定的提交并丢弃所有后续更改。

      • None

      • • 在还原提交后进行的更改将被永久删除。

      • None

      • • 在使用此命令重写历史记录后,需要git push --force

      结论

      本说明旨在增强您对Git高级功能的理解。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包

    打赏作者

    java干货

    你的鼓励将是我创作的最大动力

    ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
    扫码支付:¥1
    获取中
    扫码支付

    您的余额不足,请更换扫码支付或充值

    打赏作者

    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值