• git常用语法


    创建分支
    • git branch new-branch
    创建分支的同时切换到新建的分支
    • git checkout -b new-branch
    在其他分支的基础上新建分支,且不带之前分支的commit信息
    • git checkout --orphan new-branch
    第一次将本地分支(dev)推送到远程分支(dev)
    • git push origin dev:dev
    提交本地分支(dev)到远程分支(origin/dev)
    • git push origin dev
    将本地分支( dev )合并到远程分支(origin/master)
    • git checkout master;

    • git merge dev

    • git push origin master

      Tip: git merge --squash dev --squash这个参数的作用是,可以将dev之前commit的记录整合到一个,这样合并的log就会只有最后一个commit的信息

    将本地某次提交合并到远程分支(origin/master)
    • git log 查看某次提交的commit-id

    • git checkout master

    • git cherry-pick commit-id

    • git commit -m "add msg"

    • git push origin master

    • git pull (相当于git fetch+git merge)

    git fetch 将远程分支最新修改拉取下来
    删除本地分支
    • git branch -d branch-name
    • git branch -D branch-name (强行删除本地分支)
    删除远程分支
    • git push origin --delete branch-name
    合并多个commit

    举例:合并最后2次提交的commit:

    1. 先回退到最后2次提交的前一次提交

      git rebase -i HEAD~3
      或 git rebase -i commit-id (commit-id:倒数第3次commit的commit-id)
      
    2. 选择第3个commit-id中的一个作为最终需要保留的commit-id
      并将剩下两个提交的pick---更改为squash(简写s)也可以,保存退出(:wq)

      如果需要删除某次提交,直接将pick--更改为 drop即可
      需要提交到远程代码的话,还需要执行:git push origin master -f

    3. 进入到提交msg界面,看是否需要更改提交的msg,如果没有直接保存退出
      如果有,按i进入编辑模式,修改相应的msg,按esc退出编辑模式,再保存退出。

    注意:如果整个操作有出现错误,可以使用: git rebase --abort(放弃本次rebase操作)
    同理cherry-pick出错,可使用:git cherry-pick --abort

    当前所在分支有更改,未提交到缓存区,但是需要切换到其它分支:
    • git stash [save message] 备份当前的工作区的内容 [当前内容的备注信息]
    切换在缓存区中最新的一次记录
    • git stash pop 弹出最后一次stash的提交,代码恢复到该次提交的状态

    • git reset --soft commit-id (软重置,新提交的文件会被保存)

    • git reset --hard commint-id (硬重置,新修改的数据都会被清掉,包括stash暂存区的)

  • 相关阅读:
    关于hibernate中多对多关系
    选择排序
    Offer是否具有法律效力?
    textarea文本域宽度和高度(width、height)自己主动适应变化处理
    序列相关的趣题 之三
    windows的定时任务设置
    Maven pom.xml 配置详解
    PS 图像特效-非线性滤波器
    PS 滤镜算法原理——拼贴
    PS 滤镜算法原理——曝光过度
  • 原文地址:https://www.cnblogs.com/xinxinmifan/p/git-learning-note.html
Copyright © 2020-2023  润新知