平常工做中,我的总结的 - Git - 经常使用操做方法 (七)

工做中,多人提交代码总会遇到各类冲突,忐忑,怕合并错误,退不回

连接 :技术来源大佬感谢廖雪峰大佬前端

前提 我当前工做中,git rebase 冲突,二话不说先 git rebase --abort 保命……,当即取消当前rebase怕合错大佬的代码。太慌了……react

  • git add .
  • git commit -m "慌"
  • …… 此处省略好多,commit……
  • git log ---- 查看你commit版本控制的历史记录,显示从最近到最远的提交日志,咱们能够看到3次提交,最近的一次是append 巨慌,上一次是add 很慌,最先的一次是wrote 慌。。。
$ git log
    commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
    Author: -------
    Date:   Fri May 19 23:00:15 2019 +0800

        append "巨慌"

    commit e475afc93c209a690c39c13a46716e8fa000c366
    Author: -------
    Date:   Fri May 19 19:03:36 2019 +0800

        add "很慌"

    commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
    Author: -------
    Date:   Fri May 19 12:00:18 2019 +0800

        wrote "慌"
复制代码
  • git log --pretty=oneline ----- 若是嫌输出信息太多,能够这样,前面那个是commit id(版本号),巨有用,能够用来回退和前进版本,每commit一次都会有个不一样的ID
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append 巨慌
e475afc93c209a690c39c13a46716e8fa000c366 add 很慌
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote 慌
复制代码

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,固然往上100个版本写100个^比较容易数不过来,因此写成HEAD~100, 版本也就是提交94adb...这类的idgit

  • git reset --hard HEAD^ ---- 把当前版本append 巨慌 回退到上一个版本 add 很慌
$ git reset --hard HEAD^
HEAD is now at e475afc add 很慌
复制代码
  • git log --- 看如今版本库的状态, 最新的那个版本append "巨慌" 已经看不到了
$ git log
    commit e475afc93c209a690c39c13a46716e8fa000c366 (HEAD -> master)
    Author: -------
    Date:   Fri May 19 19:03:36 2019 +0800
        
        add "很慌"
        
    commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
    Author: -------
    Date:   Fri May 19 12:00:18 2019 +0800
        
        wrote "慌"
复制代码
  • git reset --hard 1094a ---- 只要上面的命令行窗口尚未被关掉, 找到那个append "巨慌"commit id1094adb...,回到将来的某个版本,版本号不必写全,前几位就能够了,Git会自动去找。固然也不能只写前一两位,由于Git可能会找到多个版本号,就没法肯定是哪个了
$ git reset --hard 1094a
    HEAD is now at 83b0afe append "巨慌"
复制代码

若是次日,想恢复到新版本怎么办,可是昨天的上面的命令行窗口已经关掉了,个人commit id不知道是多少,由于从之前的版本去到将来的版本必定要知道commit id,Git提供了一个命令 git reflog 用来记录你的每一次命令app

  • git reflog ----- 好强,append 巨慌的commit id1094adb,看记录得出,你又能够回到将来了
e475afc HEAD@{1}: reset: moving to HEAD^
    1094adb (HEAD -> master) HEAD@{2}: commit: append 巨慌
    e475afc HEAD@{3}: commit: add 很慌
    eaadf4e HEAD@{4}: commit (initial): wrote 慌
复制代码

忽然master分支出现新问题,本地master分支和版本库里的master分支的内容不一样,但要以版本库里的master分支内容为主,须要强制覆盖本地代码(与git远程仓库保持一致)

  • git checkout master ---- 先切换到master主分支

git强制覆盖:学习

git fetch --all
git reset --hard origin/master
git pull
复制代码

更新远程分支列表

git remote update origin -p ----- 这条指令就能更新远程最新的分支列表了
git branch -a ---- 能够看到本地和远程分支列表
复制代码

总结

  • Git的版本指向当前版本的HEAD指针,你让HEAD指向哪一个版本号,你就把当前版本定位在哪
  • git log--- 能够看下你commit过的历史记录,你能够回到之前的版本
  • git reflog ---- 能够查看查看命令历史,让你能够回到将来

结语

前端react QQ群:788023830 ---- React/Redux - 地下老英雄

前端交流QQ群:249620372 ---- FRONT-END-JS前端

(咱们的宗旨是,为了加班,为了秃顶……,仰望大佬),但愿小伙伴们加群一块儿学习fetch

相关文章
相关标签/搜索