• 盘点那些开发中经常用到的git命令


    入职第一天

    • 配置邮箱账号

      git config —global user.email "XXXX"
      git config —global user.name "XXXX" 
      
      • 1
      • 2
    • 生成公钥

      ssh-keygen -t rsa -C "你的邮箱"
      
      • 1

      生成的文件默认在c盘:/用户/当前用户/.ssh文件夹下,也可以指定文件
      在这里插入图片描述

      打开git网页,点击右上角个人头像–settings
      在这里插入图片描述

      选择SSH keys,把文件内容复制到key里面,然后点击Add Key按钮就完成了公钥配置
      在这里插入图片描述

    • 把远程代码下载到本地:

      git clone git地址
      
      • 1
    • 切换分支

      git checkout 分支名   切换本地已经存在的分支
      git checkout -b 新分支名 基于当前分支,创建本地新分支
      git checkout -b 新分支名 origin/远程分支名  基于远程分支,创建本地新分支
      
      • 1
      • 2
      • 3

    正常工作中

    • 提交代码

      git add . 选中所有修改文件,也可以指定文件目录或者文件
      git commit -m "备注内容" 
      
      • 1
      • 2
    • 推送本地代码到远程仓库

      git push 默认推送当前分支到远程仓库
      git push origin <分支名> 推送指定分支到远程仓库相同的分支
      git push origin <本地分支名>:<远程分支名> 推送本地分支到远程仓库指定分支,适合本地分支与远程分支不同命的情况
      git push -f 强制把本地分支推送到远程仓库
      
      • 1
      • 2
      • 3
      • 4
    • 把远程仓库的代码合并到本地分支

      git pull <远程主机名> <远程分支名>:<本地分支名>
      git pull 默认把远程仓库的分支合并到本地当前分支
      
      • 1
      • 2
    • 放弃文件的修改

      git checkout ./文件名/文件路径 把改动的地方还原
      
      • 1
    • 撤回commit

      git reset HEAD^          回退所有内容到上一个版本  
      git reset HEAD^ 文件路径  回退XX文件的版本到上一个版本  
      git reset  版本号         回退到指定版本,但是改动还在,只是变成了未commit
      git reset --hard 版本号   回退到指定版本,改动没有了
      
      • 1
      • 2
      • 3
      • 4
    • 在某个分支上开发到一半,突然要去另外一个分支修改问题

      git stash "备注"  把当前修改储藏起来
      git checkout XXX 切换到其他分支把问题修改完成后,再切换回本分支
      git stash pop 把刚才的改动取出来,记录也被删除
      git stash list 查看储藏记录
      git stash apply stash@{n} 取出指定的储藏记录,记录不会被删除
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • 开发了一段时间,自己分支与合并分支相差很大

      git rebase origin/合并分支名     把合并分支代码同步到自己分支,使用rebase在提交合并请求的时候,只看到自己提交的commit.
      
      • 1
    • 某个commit需要合并到2个以上分支

      git cherry-pick commit-id
      
      • 1
    • 工作中某天突然切换了git仓库

      git remote set-url origin 新git仓库地址  修改git仓库地址
      
      • 1
  • 相关阅读:
    element-ui 表单校验・大全
    String、StringBuffer、StringBuilder的区别
    SQL Server整体架构(2)——数据库
    游戏开发应该关注质量而不是数量
    html实现粘贴excel数据,在页面表格中复制
    校园失物招领微信小程序(30167)
    北邮 数字系统设计 13 Datapath&Control
    (只需三步)虚拟机上vm的ubuntu不能联上网怎么办
    实验六:Android的网络编程基础
    Flutter(四):SingleChildScrollView、GridView
  • 原文地址:https://blog.csdn.net/qq_27834905/article/details/134317284