I have a git repo in my system.
When I enter git status
using windows PowerShell, I get a result and when I enter it in the windows bash, I get a different result.
See the image for more details.
As you can see git status
in windows PowerShell says Nothing to commit
, while same git status
in windows bash says you have unstaged changes.
Here is an output result of git version
in both:
Windows powershell:
git version 2.18.0.windows.1
Windows bash:
git version 2.7.4
And here's a git diff .idea/gradle.xml
:
Powershell:
Bash:
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..15dda04 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="GradleSettings">
- <option name="linkedExternalProjectsSettings">
- <GradleProjectSettings>
- <option name="distributionType" value="DEFAULT_WRAPPED" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="modules">
- <set>
- <option value="$PROJECT_DIR$" />
- <option value="$PROJECT_DIR$/app" />
- </set>
- </option>
- <option name="resolveModulePerSourceSet" value="false" />
- </GradleProjectSettings>
- </option>
- </component>
+<?xml version="1.0" encoding="UTF-8"?>^M
+<project version="4">^M
+ <component name="GradleSettings">^M
+ <option name="linkedExternalProjectsSettings">^M
+ <GradleProjectSettings>^M
+ <option name="distributionType" value="DEFAULT_WRAPPED" />^M
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />^M
+ <option name="modules">^M
+ <set>^M
+ <option value="$PROJECT_DIR$" />^M
+ <option value="$PROJECT_DIR$/app" />^M
+ </set>^M
+ </option>^M
+ <option name="resolveModulePerSourceSet" value="false" />^M
+ </GradleProjectSettings>^M
+ </option>^M
+ </component>^M
</project>
\ No newline at end of file
:
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..15dda04 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="GradleSettings">
- <option name="linkedExternalProjectsSettings">
- <GradleProjectSettings>
- <option name="distributionType" value="DEFAULT_WRAPPED" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="modules">
- <set>
- <option value="$PROJECT_DIR$" />
- <option value="$PROJECT_DIR$/app" />
- </set>
- </option>
- <option name="resolveModulePerSourceSet" value="false" />
- </GradleProjectSettings>
- </option>
- </component>
+<?xml version="1.0" encoding="UTF-8"?>^M
+<project version="4">^M
+ <component name="GradleSettings">^M
+ <option name="linkedExternalProjectsSettings">^M
+ <GradleProjectSettings>^M
+ <option name="distributionType" value="DEFAULT_WRAPPED" />^M
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />^M
+ <option name="modules">^M
+ <set>^M
+ <option value="$PROJECT_DIR$" />^M
+ <option value="$PROJECT_DIR$/app" />^M
+ </set>^M
+ </option>^M
+ <option name="resolveModulePerSourceSet" value="false" />^M
+ </GradleProjectSettings>^M
+ </option>^M
+ </component>^M
</project>
\ No newline at end of file
:...skipping...
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..15dda04 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="GradleSettings">
- <option name="linkedExternalProjectsSettings">
- <GradleProjectSettings>
- <option name="distributionType" value="DEFAULT_WRAPPED" />
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
- <option name="modules">
- <set>
- <option value="$PROJECT_DIR$" />
- <option value="$PROJECT_DIR$/app" />
- </set>
- </option>
- <option name="resolveModulePerSourceSet" value="false" />
- </GradleProjectSettings>
- </option>
- </component>
+<?xml version="1.0" encoding="UTF-8"?>^M
+<project version="4">^M
+ <component name="GradleSettings">^M
+ <option name="linkedExternalProjectsSettings">^M
+ <GradleProjectSettings>^M
+ <option name="distributionType" value="DEFAULT_WRAPPED" />^M
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />^M
+ <option name="modules">^M
+ <set>^M
+ <option value="$PROJECT_DIR$" />^M
+ <option value="$PROJECT_DIR$/app" />^M
+ </set>^M
+ </option>^M
+ <option name="resolveModulePerSourceSet" value="false" />^M
+ </GradleProjectSettings>^M
+ </option>^M
+ </component>^M
</project>
\ No newline at end of file
~
As you can see it's completely different.
Here's the output of git config -l
:
Powershell:
core.symlinks=true
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
rebase.autosquash=true
http.sslcainfo=D:/Apps/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
credential.helper=manager
user.name=Mahdi
user.email=mahdi.malvandi@pushe.co
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=git@github.com:mahdi-malv/shahpari_market.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.setMainActivity.remote=origin
branch.setMainActivity.merge=refs/heads/setMainActivity
branch.networkSetup.remote=origin
branch.networkSetup.merge=refs/heads/networkSetup
branch.compNav.remote=origin
branch.compNav.merge=refs/heads/compNav
branch.presenter.remote=origin
branch.presenter.merge=refs/heads/presenter
branch.mainUi.remote=origin
branch.mainUi.merge=refs/heads/mainUi
branch.downloadManager.remote=origin
branch.downloadManager.merge=refs/heads/downloadManager
branch.category.remote=origin
branch.category.merge=refs/heads/category
:
Bash:
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.url=git@github.com:mahdi-malv/shahpari_market.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.setMainActivity.remote=origin
branch.setMainActivity.merge=refs/heads/setMainActivity
branch.networkSetup.remote=origin
branch.networkSetup.merge=refs/heads/networkSetup
branch.compNav.remote=origin
branch.compNav.merge=refs/heads/compNav
branch.presenter.remote=origin
branch.presenter.merge=refs/heads/presenter
branch.mainUi.remote=origin
branch.mainUi.merge=refs/heads/mainUi
branch.downloadManager.remote=origin
branch.downloadManager.merge=refs/heads/downloadManager
branch.category.remote=origin
branch.category.merge=refs/heads/category
branch.setCategory.remote=origin
branch.setCategory.merge=refs/heads/setCategory
branch.searchFix.remote=origin
branch.searchFix.merge=refs/heads/searchFix
branch.homeMoreAPI.remote=origin
branch.homeMoreAPI.merge=refs/heads/homeMoreAPI
branch.userApp.remote=origin
branch.userApp.merge=refs/heads/userApp
branch.allApps.remote=origin
branch.allApps.merge=refs/heads/allApps
branch.settings.remote=origin
branch.settings.merge=refs/heads/settings
branch.autoUpdate.remote=origin
branch.autoUpdate.merge=refs/heads/autoUpdate
branch.tempStore.remote=origin
branch.tempStore.merge=refs/heads/tempStore
branch.fixIcon.remote=origin
branch.fixIcon.merge=refs/heads/fixIcon
branch.changeAd.remote=origin
branch.changeAd.merge=refs/heads/changeAd
branch.updateAndAnal.remote=origin
branch.updateAndAnal.merge=refs/heads/updateAndAnal
branch.merge1.remote=origin
branch.merge1.merge=refs/heads/merge1
branch.fixV1beta.remote=origin
branch.fixV1beta.merge=refs/heads/fixV1beta
branch.sendDevice.remote=origin
branch.sendDevice.merge=refs/heads/sendDevice
branch.newIcon.remote=origin
branch.newIcon.merge=refs/heads/newIcon
What is causing this issue and how i can fix it?
Thanks in advance.
Note:
In addition to the accepted answer and by considering Ralf's answer, I found that making both shells use one git is a good idea.
- Remove Git from bash using sudo apt remove git
.
- Add path of git.exe
in $PATH of bash.
- For simplicity use alias git='git.exe'
to be able to use Git like before.
You can do this for other things that might face this problem like python and so on.