zoukankan      html  css  js  c++  java
  • git 操作记录

    实际使用基础操作记录

     git的小游戏可以方便理解

    https://learngitbranching.js.org/?locale=zh_CN

    git 分四个区域    workspace(工作区)     index(暂存区) 与 local repositorty(本地仓库)   remote(远程仓库)

      工作区是自己代码的地方  add 之后回到index(暂存区)

      暂存区(stage/index)是存放改动的地方 commit 回到 本地仓库 (local repostorty)

      本地仓库 是安全存放数据的位置,commit的都在这HEAD指向当前分支,push之后会到远程仓库(remote)

      

    git rebase -i HEAD~4 (在前面四个提交记录中随便更换位置选择性合并)

    git revert  版本号 (去除之前某一个commit但后续的commit保留)

    git push origin --delete 分支名   (删除远程分支)

    git init 初始化本地分支

    git remote (查看远程分支信息  )

      git remote -v (查看详细信息)

    git remote add origin https://xxx   (本地先添加远程仓库)

    git push -u origin master   (向远程仓库推送)

    git push - -set-upstream origin Link  (向远程仓库推送分支 分支名字为Link )

    git checkout Link 切换分支到Link (前提是Link分支存在)

    git checkout -b Link   建立并切换到分支Link 

    git checkout -- 文件名 (把对文件的修改恢复到未修改状态,如果是checkout . 将会恢复所有修改的文件)

    git add 文件名 (工作区文件加入版本库中)

    git commit -m ” 提交信息“ (提交修改到本地仓库)

    git commit --amend (可以修改提交注释)

    git merge --abort  (撤销merge 但是未add的代码)

    git checkout .  (撤回所有修改,还未add的修改)

    git reset  HEAD (恢复到上次到状态,对于add未commit的状态的,回到add操作之前)

      git reset --mixed HEAD^  (恢复上次提交,取消commit ,也取消add ,暂存区修改仍在)

      git reset HEAD^ (同上)

      git reset --soft HEAD^  (执行后代码修改不变,commit被回退。不撤add )

      git reset --hard HEAD^  (执行后暂存区代码消除,commit被回退。不撤add )

      git push origin HEAD --force  (强制推送到远程分支)

    git branch 查看本地分支

      git brancn -r  查看远程分支

      git branch -a  查看所有分支

         git branch -d 分支名 (删除本地分支)

      git branch -D 分支名 (强制删除分支)

    git push origin - -delete 分支名  (删除远程分支)

    git rm -rf .   (慎用  用来删除分支内容  "." 匹配此路径下所有文件 -rf循环强制删除  可以用来创建空分支并且推到远端)

    git log 查看提交日志 (后面加- - stat查看修改的具体文件)(后缀还有很多可用此处省略)

      git log -p 展示更改详情

      git log --pretty=oneline (只显示版本号和具体的操作)

      git reflog (可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作))

    git push origin HEAD --force (强制推送到远端,是在使用ret恢复本地再恢复远端的操作)

    git blame 文件名 (查看具体文件更改)

    git show 版本号  展示指定版本具体操作

    git reset - -soft 版本号  (回退到指定版本 撤销commit 不撤销add)

    git reset - -hard 版本号  (回退到指定版本 撤销commit 也撤销add)

    git revert -n 版本号(撤销此版本的commit修改,但是之后的版本修改保留,之前哪个commit不需要或错误可以使用)

    git stash save "信息"  暂存当前改变   文件要add到版本库中不然无法保存、

      git stash list  (显示暂存的列表)

      git stash apply  (恢复刚刚存储的内容,但是不删除)

      git stash pop (释放暂存的第一个,并删除内容)

    git diff 分支名字 (比较分支差异)

      git diff HEAD - - 文件名 可以查看工作区和版本库里面最新版本的区别)

      git diff  {查看 workspace(工作区) 与 index(暂存区)的差别}

      git diff --cached  {查看 index(暂存区) 与 local repositorty(本地仓库) 的差别}

      git diff HEAD {查看 workspace(工作区) 和 local repository(本地仓库) 的差别}

    git merge 分支名  (合并分支 应该是合并本地仓库已经commit的代码)

    *** git cherry-pick 版本号  (将指定的提交(commit)应用于当前分支。)

           git cherry-pick A..B  (将A到B的一系列commit都应用于当前分支,但是A不包含在其中)

        git cherry-pick A^..B (包含A的commit   A B 顺序要正确)

        冲突中断 ,解决后add添加文件后 git cherry-pick - -continue继续合并 ,合并的版本必须为本地存在的commit版本,合并其他人的远程版本无效

        git cherry-pick - -abort (放弃合并 回到之前)

    git fetch (从远程获取最新版本到本地,不会自动合并分支)

    git pull (默认行为是git fetch + git merge)

    git rebase(重新定义起点)

      git rebase --abort (回到rebase之前) 和 git merge --abort 类似(回到merge 之前)

      git rebase --skip (将引起冲突的commits丢弃掉,无视其他人的修改)

      git rebase --continue (用于修复冲突)

    git pull --rebase (会将本地当前分支里的每个提交(commit)取消掉,然后把将本地当前分支更新为最新的"origin"分支)***

  • 相关阅读:
    第4月第1天 makefile automake
    第3月30天 UIImage imageWithContentsOfFile卡顿 Can't add self as subview MPMoviePlayerControlle rcrash
    第3月第27天 uitableviewcell复用
    learning uboot fstype command
    learning uboot part command
    linux command dialog
    linux command curl and sha256sum implement download verification package
    learning shell script prompt to run with superuser privileges (4)
    learning shell get script absolute path (3)
    learning shell args handing key=value example (2)
  • 原文地址:https://www.cnblogs.com/9527s/p/13341971.html
Copyright © 2011-2022 走看看