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
原文地址:https://www.cnblogs.com/liang1101/p/7657604.html