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

为什么Git Bash和msys2 git抛出不同的git状态?

Git Bash和msys2 git是两种不同的Git工具,它们在处理Git状态时可能会有一些差异。

Git Bash是一个基于MinGW的Git命令行工具,它提供了一个类似于Linux终端的环境,可以在Windows系统上运行Git命令。它使用了MinGW提供的一些Unix工具和库,以便在Windows上模拟Unix环境。由于Git Bash是基于MinGW的,它可能会受到Windows环境的一些限制和差异影响,因此在某些情况下,Git Bash可能会抛出不同的Git状态。

而msys2 git是一个基于msys2的Git工具,msys2是一个为Windows提供类似于Linux的软件包管理器和开发环境的项目。msys2 git使用了msys2提供的一些工具和库,以便在Windows上运行Git命令。由于msys2 git是基于msys2的,它可能会在处理Git状态时与Git Bash有一些差异。

这些差异可能是由于两种工具使用的不同环境、不同版本的Git以及不同的配置参数等因素导致的。例如,Git Bash可能会使用不同的默认配置参数,或者在处理某些特定情况时使用了不同的实现方式。此外,两种工具可能会使用不同的Git版本,不同的Git版本可能会有一些行为上的差异。

总之,Git Bash和msys2 git在处理Git状态时可能会有一些差异,这是由于它们使用的不同环境、不同版本的Git以及不同的配置参数等因素导致的。如果你在使用这两种工具时遇到了不同的Git状态,请仔细检查你的操作和配置,以确定造成差异的原因。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Git使用心得及总结(包含Git Bash 和 Git GUI)简单易懂

其实为什么要写这个心得,主要是因为每次自己使用git的时候遇到一些比较棘手的问题时,总是不好找到解决方法,在使用并且学习的时候我也买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是...,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助文档的,总之,初学者很难找到一个由浅入深,学完后能立刻上手的Git教程。...所以我决定要写一个简单易懂的,方便以后去查看。...基本命令 首先我们要配置我们的用户名和密码 ———————————————— 版权声明:本文为CSDN博主「就是不健身」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明

60040

git bash的安装和配置教程

分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并...(作者, 日期, GPG等); Git的分支和合并 : 分支模型是Git最显著的特点, 因为这改变了开发者的开发模式, SVN等版本控制工具将每个分支都要放在不同的目录中, Git可以在同一个目录中切换不同的分支...设置环境变量 : 选择使用什么样的命令行工具, 一般情况下我们默认使用Git Bash即可, 默认选择; — Git自带 : 使用Git自带的Git Bash命令行工具; — 系统自带CMD : 使用Windows...配置GitHub 在开始菜单找到Git Bash右键属性,修改Git Bash的配置 : 将Git Bash设置为快速编辑模式, 可以更好的使用该命令行工具 : 我的博客:CODE大全:www.codedq.net...方法:右键git快捷图标(名叫:Git Bash),找到快捷方式-起始位置,把你的项目地址放在这里就可以了。如下图: ?

14.5K30
  • git的文件状态

    git status 用于查看git的状态 git rm 用于git文件的删除操作 如果只是 git rm --cache 仅删除暂存区里的文件 如果不加--cache...会删除工作区里的文件 并提交到暂存区 git checkout 直接加文件名 从暂存区将文件恢复到工作区,如果工作区已经有该文件,则会选择覆盖 加了【分支名】 +文件名 则表示从分支名为所写的分支名中拉取文件...并覆盖工作区里的文件 新建文件--->Untracked 使用add命令将新建的文件加入到暂存区--->Staged 使用commit命令将暂存区的文件提交到本地仓库--->Unmodified...如果对Unmodified状态的文件进行修改---> modified 如果使用add命令可以将modified的文件加入到暂存区--->Staged 如果对Unmodified状态的文件进行remove

    61310

    Git教程 git pull 和 git clone的区别

    网上看好多人解释pull和clone的区别,说什么pull是更新本地代码,clone是本地从无到有的过程,但有一点没提到,恰好我今天又犯了这个问题,因为我原来都是直接从远程仓库pull,今天突然发现发现...---- 使用方法 有权限的仓库 本地无代码 git pull git clone 有权限的仓库 本地有代码 git pull 无权限的仓库 本地无代码 git clone 无权限的仓库 本地有代码...因为我平时下拉代码都是直接git pull。 1.1 我有权限的仓库 我有权限的仓库指的是我自己的,或者团队中我可以使用的仓库。 要使用git pull首先你要确定已经连接远程仓库。...团队合作,一个仓库多人使用 你自己的仓库,你在多台电脑上使用(比如宿舍一个,实验室一个) 为什么要git pull呢?不同电脑上代码版本不一样。...我删除了上边的https连接远程仓库的方法 git remote -v用于查看你本地仓库都连接了哪些远程仓库,如果连接了会显示仓库代号和连接方式,我这里输出空白,就是没连接任何远程仓库的状态 git clone

    3K20

    git的pull和fetch区别_git pull和git clone

    大家好,又见面了,我是你们的朋友全栈君。 git fetch和git pull都可以将远端仓库更新至本地那么他们之间有何区别?想要弄清楚这个问题有有几个概念不得不提。...有了以上的概念再来说说git fetch git fetch:这将更新git remote 中所有的远程仓库所包含分支的最新commit-id, 将其记录到.git/FETCH_HEAD文件中 git...在不指定分支时通常默认为master (3)git fetch origin dev 指定远程remote和FETCH_HEAD,并且只拉取该分支的提交。...git pull : 首先,基于本地的FETCH_HEAD记录,比对本地的FETCH_HEAD记录与远程仓库的版本号,然后git fetch 获得当前指向的远程分支的后续版本的数据,然后再利用git merge...所以可以认为git pull是git fetch和git merge两个步骤的结合。

    1K30

    git fetch 和git pull 的差别

    1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:  git fetch orgin master //将远程仓库的master分支下载到本地当前branch中  git...log -p master ..origin/master //比较本地的master分支和origin/master分支的差别  git merge origin/master //进行合并 也可以用以下指令...: git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支 git diff tmp //將當前分支和tmp進行對比 git merge...tmp //合并tmp分支到当前分支 2. git pull:相当于是从远程获取最新版本并merge到本地 git pull origin master git pull 相当于从远程获取最新版本并merge...到本地 在实际使用中,git fetch更安全一些 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112419.html原文链接:https://javaforall.cn

    49430

    git reflog 和 git log 的区别

    git reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作), git log 则不能察看已经删除了的commit记录 具体一个例子...:git cherry-pick 63ee781 Git log 常用选项 选项 说明 -p 按补丁格式显示每个更新之间的差异 –stat 显示每次更新的文件修改统计信息 –shortstat 只显示...可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式) 限制输出长度 除了用 -n 来限制输出 log 的条数,还可以用 --since 和 --until...-S 列出那些添加或移除了某些字符串的提交。 可以在 git log 选项的最后指定它们的路径。因为是放在最后位置上的选项,所以用两个短划线 – 隔开之前的选项和后面限定的路径名。...列出所有最近两周内的提交 $ git log --since=2.weeks 想找出添加或移除了某一个特定函数的引用的提交 $ git log -Sfunction_name 2018 年 4 月期间,

    1.9K31

    Git及GiT和svn的区别

    摘要 GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。 如果有使用SVN背景的人,则理解GIT需要做一定的思想转换,来适应GIT提供的一些概念和特征。...所以,这篇文章的主要目的就是通过介绍GIT能做什么、它和SVN在深层次上究竟有什么不同来帮助你认识它。...GIT是分布式的,SVN不是 这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。如果你能理解这个概念,那么你就已经上手一半了。...GIT分支和SVN的分支不同 分支在SVN中一点不特别,就是版本库中的另外的一个目录。...我认为它是从CVS进化到SVN的最大的一个突破。因为GIT和SVN从概念上就不同,我不知道GIT里是什么特征与之对应。如果你有任何的线 索,请在评论里奉献出来与大家共享。

    957120

    Git进阶:你不知道的git stash 和 git worktree

    Git和SVN的别样比较 部门从SVN签到了Git, 总算跟上了潮流的脚后跟. 其实从技术的角度来说, SVN没有那么烂....SVN已经注定被放入历史的记忆箱, 就像曾经的perl和pascal, 不会消失, 但会渐渐淡化, 直到成为老一辈程序员心中的记忆和口中的谈资. 2. git stash 本地保存 SVN有个缺点, 代码不方便本地保存...这样不同的开发分支A和B是在不同的文件夹下的, 不会相互影响. 但是在Git下, checkout的分支还是在同一个目录, 这样就很不方便代码管理....修复后checkout回featureA, 但是你发现gradle需要同步, java需要重新编译, 你需要10分钟甚至更久才能恢复到你原来的代码状态....这样的bug来几次, 你就要疯了, 然后觉得git clone代码, 放在不同的文件夹下是个挺好的主意. 需要checkout时, 就去不同的文件夹checkout, 相互不影响挺好.

    58910

    Git进阶:你不知道的git stash 和 git worktree

    git中比较有用的两个命令, git stash 和 git worktree, 你值得了解一下 1. Git和SVN的别样比较 部门从SVN签到了Git, 总算跟上了潮流的脚后跟....就像曾经的perl和pascal, 不会消失, 但会渐渐淡化, 直到成为老一辈程序员心中的记忆和口中的谈资. 2. git stash 本地保存 SVN有个缺点, 代码不方便本地保存, 我一般都是通过文件夹右键...这样不同的开发分支A和B是在不同的文件夹下的, 不会相互影响. 但是在Git下, checkout的分支还是在同一个目录, 这样就很不方便代码管理....修复后checkout回featureA, 但是你发现gradle需要同步, java需要重新编译, 你需要10分钟甚至更久才能恢复到你原来的代码状态....这样的bug来几次, 你就要疯了, 然后觉得git clone代码, 放在不同的文件夹下是个挺好的主意. 需要checkout时, 就去不同的文件夹checkout, 相互不影响挺好.

    4K40

    Git(二)Git几个区的关系与Git和GitHub的关联

    一、Git的工作区、暂存区和版本库之间的区别和联系   1)工作区     在PC中能看得到的创建的一个管理仓库的目录。比如目录下GitTest里的文件(.git隐藏目录版本库除外)。...4)编写一个Demo     我们在lance.txt再添加一行内容为eeeeee,接着在目录下新建一个文件为fosun.txt 内容为test,我们先用命令 git status来查看下状态,如下:...现在我们先使用git add . 命令把2个文件都添加到暂存区中,再使用git status来查看下状态,如下: ?     ...二、远程仓库 2.1、本地与远程GitHub的配置   在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要进行简单的设置:     1)创建...推送成功后,可以立刻在github页面     中看到远程库的内容已经和本地一模一样了,上面的要输入github的用户名和密码如下所示: ?

    1K90

    git init 和 git init –bare 的区别

    使用命令"git init --bare"(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝...目录里面的文件放在版本库的根目录下面; 换句话说,不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下; 而使用--bare选项时,不再生成...2.使用--bare git init --bare joshuatest2.git ? 用"git init"初始化的版本库用户也可以在该目录下执行所有git方面的操作。...但别的用户在将更新push上来的时候容易出现冲突。 比如有用户在该目录(就称为远端仓库)下执行git操作,且有两个分支(master 和 test),当前在master分支下。...但如果是往远端仓库中空闲的分支上提交还是可以的,比如 git push origin master:test   还是可以成功的 解决办法就是使用”git init –bare”方法创建一个所谓的裸仓库

    2.3K80

    git为不同的项目设置不同的邮箱

    在我们使用Git开发项目的时候,可能经常会碰到个人和公司开发的项目都在一台机器上的情况。不管你们有没有,反正我是碰到了。因为公司有公司自己分配的邮箱,而我自己喜欢用自己的邮箱开发自己的项目。...比如我们之前设置的命令是: git config --global user.name "aaa" git config --global user.email "a@b.com..." 这样的话,就会像是上面说的不同的项目使用一个邮箱。...但是如果我应该如何为不同的项目设置不同的用户呢。其实很简单,就是把命令中的--global给去掉就好了。因为--global代表的就是全局化的意思。...命令如下: git config user.name "aaa" git config user.email "a@b.com" 是不是很简单?

    1.3K30

    git和github gitlab的区别_gitlab和git区别

    大家好,又见面了,我是你们的朋友全栈君。 GitHub是在线代码仓库,全世界只有GitHub一家,大家把代码存储在人家的服务器上。...Gitlab相当于小型的GitHub,你可以在本地搭建一个属于你自己的类似GitHub仓库,让小伙伴把代码存储在上面,这样代码只有你们几个人能看见,但是你要存在GitHub上,全世界都能看见 git 是一种版本控制系统...,是一个命令,是一种工具 gitlib 是用于实现git功能的开发库 github 是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放 gitlab 是一个基于git实现的在线代码仓库软件...,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    65210

    Git 回滚代码的正确姿势git revert 和 git reset 的区别

    并不适合阅读的个人文档。 git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。...新的版本中已近删除了你所指定的版本。 reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。...执行上述命令时,这该条commit号之 后(时间作为参考点)的所有commit的修改都会退回到git缓冲区中。使用git status 命令可以在缓冲区中看到这些修改。...代码回退 默认参数 -soft,所有commit的修改都会退回到git缓冲区 参数--hard,所有commit的修改直接丢弃 $ git reset --hard HEAD^ 回退到上个版本...$ git reset --hard commit_id 退到/进到 指定commit_id 推送到远程 $ git push origin HEAD --force 可以吃的后悔药->版本穿梭

    2.6K80

    让你的 git 拥有不同身份

    由于你没有进行过特别的设定,所以 git不管它是往 github上传还是往你公司的服务器上传,都会以一个完全相同的身份上传,这有时候会造成困扰,比如说这样: 但其实这是我公司的服务器,我不想让它以 fengerzh...最直接的方法是在你 git clone下来的仓库里,有一个 .git文件夹, .git文件夹里有一个 config文件,在这个文件里写上 [user] email = zhangjing@mydomain.com.../bin/bash function warn { echo -e "\n$1 Email and author not initialized in local config!".../bin/bash case "\$url" in *@github.com:* ) email=""; name="";; *//github.com/* ) email=""; name...整个原理其实就是利用了 git的三个特性:初始模板、钩子函数和本地配置。

    859140

    原创 | Git入门教程,详解Git文件的四大状态

    ,git commit和git push。...因为关于git底层的运行机制一点也没提,我们也不知道为什么要添加,要提交,提交了添加了意味着什么。...这一点看似是废话,但是是很重要的基础,如果没搞明白,后面会产生很多疑惑。 我们继续来说git内部的状态,这四个状态分别是untrack,modified,committed和staged。...看起来好像平平无奇对吧,但我们仔细琢磨会发现一个很奇怪的点,那就是既然我们git add和git commit都是提交,只不过是提交的目的地不同,一个是暂存区一个是本地仓库。...相信看完之后,对于git当中的状态以及它们的作用应该有了一个基础的了解,并且应该还学到了一个装逼技能,就是问你的小伙伴,你知道为什么git里有一个暂存区而SVN里没有吗?因为不极客。

    41730
    领券