zoukankan      html  css  js  c++  java
  • git 常用命令总结

    git 删除分支和代码回滚

    1. git 删除分支

      本地分支删除

     git branch -D branch
    

      远程分支删除

     git push origin :branch  (origin 后面有空格)
    

    2. 代码回滚

      指的是将代码库某分支退回到以前的某个commit id

      本地代码回滚

      git reset --hard commit-id  -->回滚到commit-id,将commit-id之后提交的commit都去除
      或
      git reset --hard HEAD~3     -->将最近3次的提交回滚
    

        远程代码回滚

       这个是重点要说的内容,过程比本地回滚要复杂

      应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布

      原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

      操作步骤如下:

      git checkout the_branch
      git pull
      git branch the_branch_backup     //备份一下这个分支当前的情况
      git reset --hard the_commit_id    //把the_branch本地回滚到the_commit_id
      git push origin :the_branch      //删除远程 the_branch
      git push origin the_branch       //用回滚后的本地分支重新建立远程分支
      git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支
    

    git 删除远程文件或文件夹

    git rm -r --cached a/2.txt   //删除 a目录下的 2.txt 文件,删除 a目录: git rm -r --cached a
    git commit -m "删除a目录下的2.txt文件" 
    git push
    

    说明:

      用 -r 参数删除目录,  git rm --cached a.txt 删除的是本地仓库中的文件,且本地工作区的文件会保留且不再与远程仓库发生跟踪关系,如果本地仓库中的文件也要删除则用:git rm a.txt

    git 切换远程分支

    git clone 命令只能 clone 远程仓库的 master 分支,无法 clone 所有分支,想要 clone 之后切换到想要的分支上的解决办法如下:

      1. 进入或者创建一个干净的目录,假设为 javaProjects

      2. cd javaProjects

      3. git clone http://github.com/elastic/elastisearch.git,这样在 javaProjects 目录下得到一个 elasticsearch 子目录

      4. cd elasticsearch

      5. git branch -a ,含义是列出所有分支的名称

      6. git checkout -b dev origin/dev, 作用是 checkout 远程仓库的 dev 分支,在本地起名为 dev 分支,并切换到本地的 dev 分支上(这个命令很重要)

    git 分支查看和切换

      本地分支查看

      git branch
    

      远程分支查看

      git branch -a
    

       分支切换(从当前分支切换到分支 test)

      git branch test
    

    git 拉取远程分支(本地不存在该分支)

      git fetch origin 远程分支名x:本地分支名x
    

       使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。

      git checkout -b 本地分支名x origin/远程分支名x
    

       使用该方式会在本地新建分支x,并自动切换到该本地分支x。

    git 代码合并

      1. 假设当前分支为 test,你修改完一个文件后提交到本地和远程

      git commit -m 'fix ik tokens query bug'
      git push
    

      2. 切换到 master 分支,更新 master 上最新代码到本地

      git checkout master
      git pull
    

      3. 切换回 test 分支,并合并刚才你下载最新 master 的本地分支 : git merge master

      git checkout test
      git merge master
    

    git 状态查询

      1. 当前状态查询

      git status

      2. 查看某个具体文件的修改内容

      git diff apps/search/travelnote/facade/CommonUtil.php 
    

      3. 查看历史提交记录

      git log
    
  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/liang1101/p/7657604.html
Copyright © 2011-2022 走看看