12个git高级命令

worktile 其他 94

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    1. `git stash`: 用于保存当前工作目录的临时状态,并将其恢复到干净的工作目录。这对于需要临时切换到另一个分支处理紧急 bug 时非常有用。

    2. `git rebase`: 用于将一个分支的提交历史合并到另一个分支。它可以用于整理分支的提交历史,使其更为整洁。

    3. `git cherry-pick`: 用于复制一个或多个提交到当前分支,并在合并过程中解决冲突。这对于将某个分支的特定提交应用到其他分支上非常有用。

    4. `git reset`: 将当前分支的 HEAD 指针重置到指定的提交,从而撤消一些修改。它可以用于取消之前的提交,或者撤销某些文件的修改。

    5. `git clean`: 用于从工作目录中删除未跟踪的文件或目录。它可以帮助保持工作目录的整洁,删除不需要的文件。

    6. `git bisect`: 用于在提交历史中进行二分搜索,以查找引入 bug 的提交。它可以帮助定位和修复 bug。

    7. `git reflog`: 显示分支的提交历史,包括已经被删除的分支或 reset 的提交。这对于恢复意外删除的提交非常有用。

    8. `git revert`: 用于创建一个新的提交,以撤销之前的提交。它可以帮助恢复工作目录中特定文件的旧版本。

    9. `git filter-branch`: 用于修改提交历史。它可以用于重写提交消息、删除文件或目录、合并提交等操作。

    10. `git submodule`: 用于管理子模块,将一个代码库作为另一个代码库的子目录。这对于管理依赖关系非常有用。

    11. `git pull –rebase`: 将远程的更新合并到本地分支时,在合并过程中使用 rebase 而不是 merge。这可以帮助保持提交历史的整洁。

    12. `git stash apply`: 将之前保存的当前工作目录的临时状态恢复到当前分支。这对于在不同的任务之间切换非常有用。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    1. git cherry-pick – 这个命令可以选择指定的提交,将其应用到当前分支上。使用这个命令可以在不合并整个分支的情况下,将其他分支的特定提交应用到当前分支上。

    2. git rebase – 这个命令可以用来修改提交历史。通过将当前分支的提交重新应用到其他分支的基础上,可以改变提交的顺序、合并提交或者改变提交的提交者。

    3. git reflog – 这个命令可以显示出所有分支的所有操作记录,包括已删除的提交和分支。可以使用这个命令来找回丢失的提交或者分支。

    4. git bisect – 这个命令可以用来进行二分查找,帮助找到引入问题的具体提交。通过不断的将代码库切换到不同的提交上进行测试,可以快速定位问题的引入点。

    5. git archive – 这个命令可以将指定的提交或者分支保存为一个压缩文件,方便传输和存档。可以选择保存为zip,tar或者tar.gz格式。

    6. git revert – 这个命令可以用来撤销已经提交的更改。它会创建一个新的提交,将之前的提交的更改恢复到原始状态。

    7. git stash – 这个命令可以将当前的更改暂时保存起来,在需要的时候再重新应用。可以用来保存未提交的更改,并在分支切换或者合并时暂时隐藏这些更改。

    8. git worktree – 这个命令可以创建一个新的工作树,允许在同一个代码库中同时工作在不同的分支上。可以方便的在多个分支之间切换,不需要重新克隆代码库。

    9. git bisect – 这个命令可以用来进行二分查找,帮助找到引入问题的具体提交。通过不断的将代码库切换到不同的提交上进行测试,可以快速定位问题的引入点。

    10. git blame – 这个命令可以用来查看每一行代码是谁写的,并且是在哪个提交中加入的。可以帮助快速定位问题的责任方。在查找代码问题或者代码评审时非常有用。

    11. git submodule – 这个命令可以将一个仓库作为另一个仓库的子模块进行管理。可以实现在一个仓库中引用另一个仓库的某个提交,并且可以方便地进行更新和切换。

    12. git filter-branch – 这个命令可以用来对历史提交进行重写。可以通过指定一些过滤条件,对提交进行修改、删除或者合并,来改变提交的历史。这个命令需要谨慎使用,因为会修改所有相关的提交。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    1. git cherry-pick

    git cherry-pick命令可以将指定提交(commit)添加到当前分支上。它可以用来将其他分支上的一个或多个提交应用到当前分支上。

    操作流程:

    1)首先切换到目标分支上:git checkout [目标分支名]
    2)执行git cherry-pick命令: git cherry-pick [提交哈希值]

    2. git rebase

    git rebase命令可以用来合并分支或改写提交历史。它可以将一系列提交(commit)从一个分支应用到另一个分支上,或者修改提交的提交消息、顺序等。

    操作流程:

    1)首先切换到目标分支上:git checkout [目标分支名]
    2)执行git rebase命令: git rebase [源分支名]

    3. git reflog

    git reflog命令可以查看当前分支及所有分支的操作记录。它可以帮助我们恢复误删的提交、撤销错误的变基等操作。

    操作流程:

    1)执行git reflog命令: git reflog
    2)根据输出的记录,找到要恢复的提交的哈希值
    3)执行git cherry-pick或git rebase命令,将误删的提交或撤销的操作恢复回来

    4. git bisect

    git bisect命令可以用来找出导致代码出现问题的提交。它基于二分查找的原理,将代码库划分为几个部分,每次测试一个提交,直到找到问题的提交。

    操作流程:

    1)执行git bisect命令开始二分查找: git bisect start
    2)标记当前提交为有问题的提交: git bisect bad
    3)标记已知好的提交(一般是代码库的某个稳定版本): git bisect good [稳定版本的提交哈希值]
    4)将问题提交用于测试
    5)根据测试结果,使用git bisect bad或git bisect good命令继续二分查找
    6)最终找到问题的提交

    5. git stash

    git stash命令可以将当前工作目录中未提交的修改保存起来,以便后续使用。它常用于在切换分支或合并代码前保存当前分支上的临时修改。

    操作流程:

    1)执行git stash命令: git stash
    2)切换到其他分支或执行其他操作
    3)当需要恢复暂存的修改时,执行git stash apply命令: git stash apply

    6. git revert

    git revert命令可以撤销一个或多个提交的更改,并创建一个新的提交来存储撤销的更改。它不会修改历史提交记录,而是创建一个新的提交来撤销之前的更改。

    操作流程:

    1)执行git revert命令: git revert [要撤销的提交哈希值]

    7. git reset

    git reset命令可以将HEAD指针和当前分支指向一个特定的提交。它可以用来撤销提交、移动HEAD指针、重置分支等操作。

    操作流程:

    1)执行git reset命令: git reset [要重置到的提交哈希值]
    2)根据参数的不同,可以选择硬重置(git reset –hard)、软重置(git reset –soft)或混合重置(git reset –mixed)

    8. git clean

    git clean命令可以用来删除未跟踪的文件和目录。它可以清除工作目录中的通过git add添加的文件以外的所有文件。

    操作流程:

    1)执行git clean命令: git clean -f -d
    2)-f表示强制删除,-d表示同时删除未跟踪的目录

    9. git tag

    git tag命令可以用来为提交(commit)打上标签。标签可以用来标记重要的提交(如版本号),方便以后查找和回滚。

    操作流程:

    1)执行git tag命令: git tag [标签名] [提交哈希值]

    10. git log –graph

    git log –graph命令可以以图形化的方式展示提交历史。它可以帮助我们更清晰地了解分支的合并情况。

    操作流程:

    1)执行git log –graph命令: git log –graph

    11. git blame

    git blame命令可以查看文件的每一行是由哪个提交引入的。它可以帮助我们了解代码的变更记录,并找到问题的所在。

    操作流程:

    1)执行git blame命令: git blame [文件名]

    12. git archive

    git archive命令可以将代码库的指定版本打包成一个压缩文件。它可以用来导出特定版本的代码,方便传输或发布。

    操作流程:

    1)执行git archive命令: git archive -o [输出文件名.zip] [提交哈希值]

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部