GIT 常用命令(很实用的哟)

1. git reset HEAD^

   git commit 之后尚未 push, 想要撤销此次提交

   可以通过
        git reset HEAD^1 撤销一次
        git reset HEAD^2 撤销两次
   --mixed
    意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
    这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

   --soft (默认)
   不删除工作空间改动代码,撤销commit,不撤销git add .

   --hard
   删除工作空间改动代码,撤销commit,撤销git add .

   git log --pretty=oneline

   git log --oneline --decorate

   修改上一次提交备注信息: git commit --amend

   查看 <<当前仓库的地址>>:git remote show origin

   修改 <<仓库地址>>: git remote set-url origin git@192.168.30.29:chenwei/em-data.com.cn.git

   查看提交树形结构: git log --oneline --graph --decorate --all

         简单结构: git log --oneline --cherry

                  git log --graph --pretty=oneline --abbrev-commit

2. git reset 和 git reverse 区别

    git revert  是生成一个新的提交来撤销某次提交,此次提交之前的commit都会被保留 使用和最近一次commit完全相反的操作生产新的commit 来进行中和

    git reset  是回到某次提交,提交及之前的commit都会被保留,但是此次之后的修改都会被退回到暂存区

        git reset HEAD 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。

    git revert <commit log string> 是撤消该commit,作为一个新的commit。

    git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。

    HEAD 指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令 git reset --hard commit_id。

    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

   > 将【某个文件】单独回滚 (切换到ProdDetail.js所在的目录执行下面命令)

    git log --oneline 查询 提交日志 id

    git reset 1c6f682 ProdDetail.js  将文件的改动退回到暂存区

    git checkout ProdDetail.js       用线上的覆盖本地文件


3. git reflog 可以查看整体的提交记录(包含撤销的相当于一个链路)
10.  git remote show origin

    (10.1) 所有远 程 仓库信息:git remote -v

    (10.2) 某个远程仓库的信息:git remote show xx[origin]    xx: 为远程地址的别名

    (10.3) 添加远程仓库版本:git remote add [name] [url]

           name: 自己取的仓库的名称  url:地址

           添加完后使用拉取代码 git fetch --all

           提交代码:git push name HEAD:refs/for/分支名 提交的代码.  name: 同上

    (10.4) 删除 远程仓库:  git remote rm name

    (10.5) 删除 【本地】 分支: git branch -d new_branch

    (10.6) 删除 【远程】 分支: git push origin --delete new_branch

               注:同名的本地分支是不会删除的

    (10.7) 重命名远程仓库:git remote rename old_name new_name

    (10.8) 根据指定 commit_id 创建分支: git checkout -b new_branch commit_id

    (10.9) 模糊查找分支:git branch | grep 'story_89'

           清除本地无效分支: git fetch -p   注:远程已删除


    (10.10) 合并代码:

        git checkout -b new_branch

        git status -s

        git commit -m '提交'

        // 假如 new_branch 和其他分支有冲突,且其他分支已经合到了 master

        git pull --rebase 拉取最新代码到本地

        git commit -m ''

        git push origin new_branch

        // 开始合并到代码
        git checkout master

        git merge new_branch


11. 从暂存区移出但保留在工作目录:git rm --cached <file>

    git rm --cached SchoolVo.java

    git rm -f SchoolVO.java 强行从暂存区和工作区删除文件

    进入目录: git rm -r *  删除整个目录下的文件和子目录


13. 查看历史

    (13.1) git log

    (13.2) 单行日志打印:git log --oneline

    (13.3) 逆向查看日志:git log --reverse --oneline  正向的从仓库创建到最近的日志

    (13.4) 指定用户日志:git log --author=xuzhi --oneline -5

            git log --oneline --before={3.weeks.ago} --after={2022-05-20} --no-merges

            --no-merges 选项以隐藏合并提交

            --since 和 --before,但是你也可以用 --until 和 --after。

    (13.5) 切到指定目录,查看某个文件的提交记录:

            git blame GIt.txt  或者  git blame ./thirdPass/git/GIt.txt
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值