首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

git 常用操作总结

对比文件 工作区和暂存区之间差异对比 $ git diff "xxx.txt" 暂存区和版本库之间差异对比 $ git diff --cached(--staged) "xxx.txt" 工作区和版本库之间差异对比...撤销工作区修改 使用版本库中的文件或者暂存区中的文件替换工作区的文件 让文件回到最近一次 git commit 或 git add 时的状态 $ git checkout -- "xxx.txt" 10...删除文件 删除工作区中的文件 $ rm "xxx.txt" 提交删除操作到暂存区 $ git rm "xxx.txt" 提交删除到版本库,在版本库中彻底删除文件 $ git commit -m "remove...origin,并下载其中所有的数据到本地,在本地建立所有远程存在的分支,并且命名为origin/xxx,例如远程分支有master、developer,那么本地就会建立origin/master分支、origin...master 分支和 origin/master 分支有什么区别 $ git log master..origin/master 切换到本地 master 分支下 $ git checkout master

18110

git 常用操作总结

对比文件 工作区和暂存区之间差异对比 $ git diff "xxx.txt" 暂存区和版本库之间差异对比 $ git diff --cached(--staged) "xxx.txt" 工作区和版本库之间差异对比...撤销工作区修改 使用版本库中的文件或者暂存区中的文件替换工作区的文件 让文件回到最近一次 git commit 或 git add 时的状态 $ git checkout -- "xxx.txt" 复制代码...删除文件 删除工作区中的文件 $ rm "xxx.txt" 提交删除操作到暂存区 $ git rm "xxx.txt" 提交删除到版本库,在版本库中彻底删除文件 $ git commit -m "remove...origin,并下载其中所有的数据到本地,在本地建立所有远程存在的分支,并且命名为origin/xxx,例如远程分支有master、developer,那么本地就会建立origin/master分支、origin...这就是git fetch origin的作用 比较本地 master 分支和 origin/master 分支有什么区别 $ git log master..origin/master 切换到本地

50420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    看完此文你不会Git,请来找我!

    为了方便管理Linux内核的开发工作,一个可靠的值得信赖的VCS是不可或缺的,但是,Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢...小结 任何对象都是在工作区诞生和被修改; 任何修改都是从进入index区才开始被版本控制; 只有把修改提交到本地仓库,该修改才能在仓库留下足迹; 与协作者分享本地的更改,需要将更改push到远程仓库 常用的...[file] 显示暂存区和工作区的代码差异 $ git diff 显示暂存区和上一个commit的差异 $ git diff -cached [file] 显示工作区与当前分支最新commit之间的差异...$ git push [remote] --force 推送所有分支到远程仓库 git push [remote] --all 撤销 恢复暂存区的指定文件到工作区 $ git checkout [commit...] [file] 恢复某个commit的指定文件到暂存区和工作区 $ git chechout .

    90020

    Git回滚和撤销---吃上后悔药、坐上时光机

    //删除暂存区中的文件记录 git rm --cached 文件名 //或是下面的命令,推荐用下面这种 git reset HEAD 文件名 上面2种方法有什么区别呢?...git rm —cached 是直接删除暂存区中的文件记录,用 git ls-files —stage 命令查看暂存区会发现对应文件的记录被删除了,工作区的内容不会变; git reset 是把内容恢复到指定的...当文件之前没有提交过时,效果就会等同于上面的命令;如果之前提交记录里有文件的其他版本,就会把暂存区的记录更新到之前的版本,这样以来对应文件内容就是之前的版本。...撤销 commit 本质上就是将分支指向上一个commit。 只不过有个问题,暂存区中的内容和工作区中的内容要不要跟着改呢?...需要重新add操作); soft:效果是暂存区和工作区的内容都不会变,也就是不撤销 add 操作; hard:这个效果是暂存区的内容会被替换,工作区之前被跟踪的文件内容会被替换 //回滚到上一次提交 git

    60420

    【干货分享】通过命令操作来学习Git

    版本库(repository) 工作区中有一个隐藏文件夹.git,这个不算工作区,而是Git的版本库。 Git的版本库里存在很多东西,其中最为重要的是stage(或者叫index)的暂存区。...如果想要将文件恢复到原先的状态,可以从仓库中调取以前的历史快照,在工作树中打开。具的操作方式将在后面详细介绍。...查看工作树和最新提交的差别 使用命令git diff HEAD就可以查看工作树和最新提交的差别,紧接着上面的操作,我们将暂存区中的最新更改提交到本地仓库中,然后尝试查看工作树和最新提交的差别,结果同样是没有任何差别...那么,对于这三种方式,到底有什么区别呢?...---- 现在一起来做一个小任务,共同学习一下如何来操作历史版本,首先,我们将工作树、暂存区、最新提交都恢复到feature-A创建之前,然后再基于master分支创建一个fix-B分支,然后切换到fix-B

    52730

    Git面试常见问题

    命令行 SourceTree SmartGit git add 和git stage有什么区别 Git仓库的三个组成部分:工作区(Working Directory)、暂存区(Stage)、历史记录区(...git reset 、git revert和git checkout 有什么区别? 共同点:用来撤销代码仓库中的某些更改。 不同点 git reset可以将一个分支的末端指向前一个commit。...--soft:只影响历史记录区。 --hard:影响工作区,暂存区和历史记录区。 注意,因为git reset是直接删除commit记录,从而会影响其他开发人员的分支,所以不要在公共分支做这个操作。...然后从文件的层面来说: git reset 只是把文件从历史记录区拿到暂存区,不影响工作区的内容,而且不支持 --mixed、--soft 和 --hard。...git checkout 则是把文件从历史记录拿到工作区,不影响暂存区的内容。 git revert不支持文件层面的操作。

    1K50

    git的面试题_es面试题

    通过git stash命令,把工作区的修改提交到栈区,目的是保存工作区的修改; 通过git pull命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突; 通过git stash pop命令,把保存在栈区的修改部分合并到最新的工作空间中...索引区和工作空间不变更;可以通过git reset –mixed HEAD^n恢复当前分支的版本库和索引区至上一次提交的状态,工作区不变更;可以通过git reset –hard HEAD^n恢复当前分支的版本库...它们之间有什么区别? 简单的说,git merge和git rebase都是合并分支的命令。...分支有变动 , 如其他开发人员完成功能并上线 , 则需要将完成的功能合并到自己分支上,即合并develop到当前feature分支; 9.当进行一个release分支时 , 若develop分支有变动...因为当前release分支通过测试后会发布到线上 , 如果不合并最新的develop分支 , 就会发生丢代码的情况); GitFlow的好处 为不同的分支分配一个明确的角色,并定义分支之间如何交互以及什么时间交互

    76720

    通过 41 个 问答方式快速了解学习 Git

    21.在与 master 合并之前,有必要更新我的分支吗 根据你的工作流,可以将旧的分支合并到主分支中。如果你的工作流仅使用 "fast-forward"合并,那么有必要在合并之前更新你的分支。...提醒你非快进方式的更新被拒绝了,需要先从中心仓库pull到最新版本,merge后再 push. fast forward 能够保证不会强制覆盖别人的代码,确保了多人协同开发。...假设 master 分支是咱们的主分支,咱们不希望有选择地从它的历史记录中提取提交,这会以后引起冲突。 咱们想要 merge 或 rebase 分支的所有更改。...要删除对远程分支的本地引用,可以运行:git remote prune origin。 36. checkout 和 reset 有什么区别 这两个命令都可以用来撤销更改。...git checkout -- file;撤销对工作区修改;这个命令是以最新的存储时间节点(add和commit)为参照,覆盖工作区对应文件file;这个命令改变的是工作区。

    1.6K50

    通过 41 个 问答方式快速了解学习 Git

    21.在与 master 合并之前,有必要更新我的分支吗 根据你的工作流,可以将旧的分支合并到主分支中。如果你的工作流仅使用 "fast-forward"合并,那么有必要在合并之前更新你的分支。...提醒你非快进方式的更新被拒绝了,需要先从中心仓库pull到最新版本,merge后再 push. fast forward 能够保证不会强制覆盖别人的代码,确保了多人协同开发。...假设 master 分支是咱们的主分支,咱们不希望有选择地从它的历史记录中提取提交,这会以后引起冲突。 咱们想要 merge 或 rebase 分支的所有更改。...要删除对远程分支的本地引用,可以运行:git remote prune origin。 36. checkout 和 reset 有什么区别 这两个命令都可以用来撤销更改。...git checkout -- file;撤销对工作区修改;这个命令是以最新的存储时间节点(add和commit)为参照,覆盖工作区对应文件file;这个命令改变的是工作区。

    1.4K20

    2022 最新 Git 面试题

    可以使用命令: git revert 7.git pull 和 git fetch 有什么区别?...这样做有很多优点,比如你可以从 Subversion 快速一次性导入到 Git 或者在 Atlassian Bitbucket Server 中使用SubGit。...19.Git 工作区、暂存区和版本库 我们先来理解下 Git 工作区、暂存区和版本库概念: 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage 或 index。...版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。 下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系: 图中左侧为工作区,右侧为版本库。...当对工作区修改(或新增)的文件执行 git add 命令时,暂存区的目录树被更新,同时工作区修改 (或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件 索引中。

    22410

    GIT 高手9问

    GIT 高手9问 1、git 比其它版控工具快的原因? 2、git 将版本库和工作区放在同一个目录,究竟是好是坏? 3、git 默认只在根目录有.git版本库,其子目录是如何发现版本库呢?...4、git config --global --system 究竟有什么区别? 5、git commit生成的`HASH`为什么不用顺序数字代替? 6、git 工作区如何归档压缩?...GIT只在工作区根目录下设置.git版本库,保证了目录的干净性,大大提高了安全性,但也意味着只有.git版本库的目录才存储有版本库信信息。...还记得问题1中git比传统工具快的原因吗? 最后: 版本是非线性增长,GIT提倡充分使用好分支特性 6、git 工作区如何归档压缩? tar,zip? NO!...其实git提供了内置工具 基于最新的提交建立归档文件 latest.zip git archive -o latest.zip HRAD 只将目录src和doc归档到partial.tar中 git

    64020

    GIT命令操作全攻略,请收下我的膝盖!

    说了这么多,Git 是一款什么样的软件?和 CVS、SVN 这些免费的版本控制系统有什么区别呢?...#例如,提交所有的文件添加修改提交到版本库 git commit -m "注释内容" 有些时候,我们需要通过一下命令,查询当前工作区的信息。 比如,查看当前工作区的状态,这个基本上经常用到!...#查看当前工作区的状态 git status 查询当前版本库的历史提交日志纪录,这个会在版本回滚的时候用到!...#查看历史提交的命令 git reflog 查看文件修改内容! #查看当前文件修改内容 git diff 查看工作区和版本库里面最新版本的区别!...如果我们本地没有仓库,我们可以直接从远程分支里面拉取一个版本库同步到本地,命令如下。

    66340

    超详细!手把手带你快速入门 GitHub!

    集中型将所有特点是方便管理,但是如果开发者所处的环境无法联网,则无法获取到最新的源码,进而无法进行开发工作。 ? Git Git是分散型的版本管理系统。...如果是付费用户可以建立自己的私人仓库,一般用户的话只能建立公用仓库,也就是说仓库的代码必须是公开的。到底Git和GitHub有什么区别呢?...5、git diff 查看工作树、暂存区、最新提交之间的差别。...git diff # 查看当前工作树和暂存区的差别 git diff HEAD # 查看本次提交和上次提交的差别;HEAD指向当前分支中的最新一次提交的指针 养成习惯:git commit之前先执行...6、仓库操作 -u作用:将来运行git pull命令从远程仓库获取内容时,本地仓库就可以直接从origin的master分支中获取内容,不需要添加其他的参数 git remote add origin

    86120

    工作中Git的使用实践和常用命令合集!

    下面简单说一下 想要知道他们得不同,我们需要先了解两个概念 FETCH_HEAD:可以看做是一个版本链接,记录在本地的refs\remotes下对应分支文件中,指向着目前已经从远程仓库取下来的分支的最新版本的...将当前分支的修改暂存起来(此处不等于add+commit) git stash 备份当前的工作区的内容,从最新的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。...apply 恢复暂存之后不删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。...git stash pop 恢复暂存之后删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。之后pop会删除最新的暂存。...,即用版本库里的版本替换工作区的版本 git checkout -- 删除某些commit,将head重定位到某一commit(回溯到以前的版本) git reset --hard

    53410

    终于有人把 Git 分支讲清楚了!

    下面简单说一下 想要知道他们得不同,我们需要先了解两个概念 FETCH_HEAD:可以看做是一个版本链接,记录在本地的refs\remotes下对应分支文件中,指向着目前已经从远程仓库取下来的分支的最新版本的...,记录远程分支最新的commit_id,不会更新本地工作区代码,只有使用了git merge 才会将提交更新到本地仓库区和工作区 在git status中的体现,见下图: ?...) 使用pull: 将远程分支最新代码更新合并到本地仓库区和工作区 git pull 使用fetch: 将远程所有分支最新的commit_id更新到FETCH_HEAD,记录远程分支最新的commit_id...将当前分支的修改暂存起来(此处不等于add+commit) git stash 备份当前的工作区的内容,从最新的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。...恢复暂存之后不删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容 git stash pop 恢复暂存之后删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。

    1K11

    快速入门GitHub

    集中型将所有特点是方便管理,但是如果开发者所处的环境无法联网,则无法获取到最新的源码,进而无法进行开发工作。...如果是付费用户可以建立自己的私人仓库,一般用户的话只能建立公用仓库,也就是说仓库的代码必须是公开的。到底Git和GitHub有什么区别呢?...如果有新的文件或者原来的文件有修改过,会出现红色 2、git add 向缓存区中添加内容,缓存区是提交之前的一个临时区域(Stage或者Index) 3、git commit -m 将暂存区中的文件保存仓库的历史记录中...-p参数只查看提交的改动部分 5、git diff 查看工作树、暂存区、最新提交之间的差别。...git diff # 查看当前工作树和暂存区的差别 git diff HEAD # 查看本次提交和上次提交的差别;HEAD指向当前分支中的最新一次提交的指针 养成习惯:git commit之前先执行

    68240

    一文搞定工作中Git的使用实践和常用命令合集

    下面简单说一下 想要知道他们得不同,我们需要先了解两个概念 FETCH_HEAD:可以看做是一个版本链接,记录在本地的refs\remotes下对应分支文件中,指向着目前已经从远程仓库取下来的分支的最新版本的...将当前分支的修改暂存起来(此处不等于add+commit) git stash 备份当前的工作区的内容,从最新的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。...apply 恢复暂存之后不删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。...git stash pop 恢复暂存之后删除暂存 从Git栈中读取最新一次保存的内容,恢复工作区的相关内容。之后pop会删除最新的暂存。...,即用版本库里的版本替换工作区的版本 git checkout -- 删除某些commit,将head重定位到某一commit(回溯到以前的版本) git reset --hard

    50620

    Git 知识总结

    What:开源的分布式版本管理系统。  Why:相较于 svn,有以下主要优势:完全分布式,不依赖于中央服务器,支持离线开发。本地存储了一个完整的代码库,且用元数据方式存储,体积小克隆速度快。...#提交暂存区到仓库git commit -m "commit message"#拉取最新代码,自动合并到本地当前分支git pull#拉取最新代码,不合并git fetch#合并 master 分支到当前分支...还原与回退  还原是将暂存区或工作区的文件还原为版本库的内容,不会修改到提交历史。  回退将当前分支回退到指定节点,会修改提交历史,是提交的逆向操作。回退也涉及暂存区或工作区文件内容的变更。  ...并且:HEAD^:表示上一个版本HEAD^^:表示上上个版本HEAD~n:表示上 n 个版本#还原工作区文件,还原后与暂存区内容一致git checkout file1 file2#还原工作区所有文件变更...develop:开发分支,保持最新的开发代码。hotfix:热修复分支,从master创建,合并回master和develop。

    19710

    git 入门教程之本地和远程仓库的本质 原

    某些自动化持续集成环境中也可能会直接操作远程仓库,这时远程仓库就真的和本地仓库没什么区别了!...git add : 添加文件 将工作区的提交记录添加到暂存区,暂存区是工作区和版本库交互的桥梁,暂存区积累到一定量的提交记录时可以批量提交到版本库,这一点暂存区有点像缓存. git commit : 提交文件...将暂存区的版本提交到版本库,从而形成工作区->暂存区->版本库的基本链路,本地工作区的版本控制流程大致如此. git push : 推送文件 如果是使用 git clone 命令克隆的本地项目,当工作到一定程度时可能需要将这部分工作成果推送到远程仓库...揭开远程仓库的神秘面纱后,现在我们只需要将其视为普通的本地仓库一样对待即可,然而我们本地电脑上已经有了本地仓库,故而需要将远程仓库做一下简单标识区分(origin)称之为远程分支....只要本地的指定分支成功推送到远程的相应分支时,对于本地来说,不论是指定分支还是远程分支(origin/master)都应该是最新状态,因为已经与服务器同步了.

    1.7K51

    看了这篇文章,你应该可以应付工作中90%的git命令

    $ git add 文件名或*  #添加文件到暂存区$ git rm 文件名   #从暂存区删除文件$ git commit -m "注释" #提交到版本记录$ git commit --amend...=HEAD=设置版本 1 $ git reset HEAD^(版本号) readme.txt(文件名) 已add到暂存区,还未commit,可从当前版本覆盖到暂存区,即撤销暂存区的修改,之后再checkout...checkout的用法 1.从暂存区恢复到工作区 1 $ git checkout -- readme.txt(文件名) 工作区修改还未add到暂存区,可以从暂存区覆盖到工作区,即撤销修改 加上占位符...123 $ git merge dev #将当前分支与dev合并$ git merge --squash dev  #分支的最新commit合并到当前分支的工作区和暂存区,此时commit当前分支就不会有冗余...2.rebase 123 $ git rebase master #将当前分支所作任何修改都当作是从主分支最新commit开始计算合并$ git rebase -i master #可视化的选择当前分支能合并的版本追加到

    44210
    领券