• git操作


    管理分支

    # 查看本地git分支
    git branch
    
    # 删除本地分支
    git checkout 本地其他某个分支
    git branch -d <BranchName>
    
    # 删除远程分支
    git push origin --delete 远程分支名
    
    # 查看本地分支关联的远程分支
    git branch -vv
    
    # 如果本地分支名称与远程分支相同时,直接git checkout分支名即可
    例如git checkout release-1.15
    
    # 查看本地和远程仓库的所有分支并根据指定条件搜索
    git branch -a | grep xxx
    
    # 基于当前分支来创建一个本地分支,推送到远程并关联
    git checkout -b test
    git push origin test
    git branch --set-upstream-to=origin/test test
    
    # 拉取master远程主干分支的代码并合并到当前分支
    git pull origin master

    commit

    修改已提交的commit注释

    1 # 数字2指倒数第2次以内,把需要修改的注释前面的pick换成edit
    2 git rebase -i HEAD~2,保存后退出
    3 # 再次修改注释
    4 git commit --amend
    5 # 确认修改注释完成
    6 git rebase --continue
    7 git push -f

    把多次commit合并成一个

    1 # 查看提交历史
    2 git log --oneline
    3 # 合并最近的5个commit
    4 # 5次提交的commit倒序排列,最下面的是最近一次提交
    5 # 修改第2-5行的第一个单词pick为s,保存退出
    6 git rebase -i HEAD~5
    7 # 修改最上面这条commit信息,删除下面的注释内容
    8 git push -f

    4个阶段的撤销更改

    3个步骤

    1. git add xxx把所有改动放入暂存区(已暂存)
    2. git commit -m "comment"把所有改动从暂存区提交到本地仓库(已提交)
    3. git push把所有改动从本地仓库推送到远程仓库(已推送)

    查看差异

    1 # 已修改,检查工作区和暂存区的差异
    2 git diff
    3 # 已暂存,检查暂存区和本地仓库的差异
    4 git diff --cached
    5 # 已提交,检查本地仓库和远程仓库的差异
    6 git diff origin/master master

    单步撤销修改

    1 # 已修改,单独撤销本地修改
    2 git reset --hard
    3 # 已暂存,单独撤销commit+add
    4 git reset --mixed
    5 # 已提交,单独撤销commit
    6 git reset --soft HEAD~1
    7 # 已推送,回退到最开始
    8 单独撤销commit -> 单独撤销commit+add -> 单独撤销本地修改 -> git push -f

    合并单个commit到当前分支

    1 git cherry-pick commit-id
    2 # 解决冲突之后
    3 git cherry-pick --continue
    4 git push

    更新fork的代码

     1 # clone fork项目 
     2 git clone git@远程git仓
     3 
     4 # 增加被fork的项目到远程分支列表中,命名为upstream
     5 git remote add upstream git@远程git仓
     6 
     7 # 核实远程分支列表
     8 git remote -v
     9 
    10 # 删除用git remote remove name 
    11 # 其中,name是远程分支的命名
    12 git remote remove upstream
    13 
    14 # 更新本地分支并强推到fork项目
    15 # 1 拉取最新代码并合并
    16 git fetch
    17 git pull --rebase upstream master
    18 # 2 查看冲突文件
    19 git status
    20 # 3 解决冲突后
    21 git rebase --continue
    22 git push -f

    Patch

    作用

    把修改的地方保存到Patch文件中,需要时可以打上Patch,从而修改文件。

    操作说明

    通过git diff或者git format-patch生成的.patch文件有所不同。
    通过git diff生成的文件不含有commit信息,可以指定文件生成patch,也可以指定单个commit或者多个commit生成。
    指定文件:git diff Test.java > test.patch
    所有文件:git diff > test.patch
    指定 commit id 生成 patch:git diff 【commit sha1 id】 【commit sha1 id】 > 【diff文件名】

    通过git format-patch生成的.patch文件含有commmit信息。一个commit对应一个patch文件。
    当前分支所有超前master的提交:git format-patch -M master
    某次提交以后的所有提交(不包括当前提交):git format-patch [commit id]
    单次提交:git format-patch -1 07fe
    git format-patch 生成的补丁文件默认从1开始顺序编号,并使用对应提交信息中的第一行作为文件名。如果使用了-- numbered-files选项,则文件名只有编号,不包含提交信息;如果指定了–stdout选项,可指定输出位置,如当所有patch输出到一个文件;可指定 -o指定patch的存放目录。

    应用patch
    git format-patch对应git am xx.patch
    git diff对应git apply xx.patch

  • 相关阅读:
    Windows环境下 配置memcached (php)
    谈谈我是怎么学习PHP的(一)
    重编译Linux命令源代码
    php面向对象学习
    Windows文件系统漏洞
    十分钟能学会的框架,MVC+20个常用函数
    linux系统安装软件方法大全
    oracle基本操作
    MySQL的limit查询优化
    C# winform 可视化操作 Excel文件并读取数据
  • 原文地址:https://www.cnblogs.com/WJQ2017/p/15837583.html
Copyright © 2020-2023  润新知