美文网首页
Git 操作情景

Git 操作情景

作者: _于曼丽_ | 来源:发表于2022-04-22 17:03 被阅读0次

    查看不同

    git diff
    git diff HEAD
    git diff --cached

    撤销改动

    还未提交到暂存区

    git checkout .

    已经提交到暂存区

    git reset
    git checkout .

    已经提交到暂存区,之后又对工作区进行改动

    git checkout .
    git reset
    git checkout .

    版本回退

    工作区、暂存区、仓库区全都回退到某个版本

    git reset --hard commit_id

    撤销当前分支历史上的某个 commit 的内容,这个 commit 可以来自合并的分支,但是不能是未合并过的其他分支上的 commit。之后会生成一个新的 commit

    git revert commit_id

    如果有文件冲突,解决冲突

    git add .
    git revert --continue

    重新规划 commit_id 之后的提交信息,相当于将 commit_id 之后的各个 commit 重新提交,可以修改某次提交的信息,可以删除某次提交,也可以合并相邻的提交

    git rebase -i commit_id

    删除某次提交的时候,如果有文件冲突,解决冲突

    git add .
    git rebase --continue

    分支操作

    合并其他分支,需要保留合并痕迹

    git checkout develop
    git merge feature-user --no-ff 
    # 合并之后,develop 分支就拥有了 feature-user 分支的所有提交的内容
    

    合并远程的同源分支,不需要保留合并痕迹

    git checkout develop
    git rebase origin/develop
    # 以 origin/develop 的最后一个 commit 为基础,重新提交 develop 的新的 commit
    

    git rebase --onto 的使用

    git rebase --onto commit_1 commit_2 commit_3
    # 保留 commit_2 到 commit_3 之间 (不包括 commit_2,包括 commit_3) 的所有 commit,将这些 commit 接到 commit_1 后面
    # commit_3 必须是某个分支的最后一个 commit
    # 可以用于删除某几个历史提交,commit_1 删除的起点之前的提交,commit_2 删除的终点,commit_3 最后一个 commit
    

    远程操作

    git push

    git pull

    git fetch
    git merge origin/dev

    git fetch
    git rebase origin/dev

    相关文章

      网友评论

          本文标题:Git 操作情景

          本文链接:https://www.haomeiwen.com/subject/tbunertx.html