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"分支)***

  • 相关阅读:
    负载均衡软件LVS 三种实现模式对比
    论文学习笔记:High-level pattern-based classification via tourist
    论文学习笔记:A Network-Based High Level Data Classification
    第四章--度相关性和社团结构(复杂网络学习笔记)
    第三章--网络基本拓扑性质(复杂网络学习笔记)
    第二章--网络与图(复杂网络学习笔记)
    神经网咯基础-deeplearning.ai【笔记】
    前端Jquery-Ajax跨域请求,并携带cookie
    Django中解决跨域请求问题
    1- 基本概念(复杂网络学习笔记)
  • 原文地址:https://www.cnblogs.com/9527s/p/13341971.html
Copyright © 2011-2022 走看看