'Maybe git-rebase is broken'

僤鯓⒐⒋嵵緔 提交于 2019-11-29 18:52:56

问题


3rd Update

More information:

  • commands in the git-bash shell work as expected

    • in the git-bash shell, Git\bin\git.exe is called

    • Git\bin is where sh.exe lives

  • in PowerShel (or cmd, or tcc), Git\cmd\git.exe is called

  • even after adding Git\bin to the PATH (after Git\cmd), the scripts don't work

Very frustrating...

2nd Update

It appears all the git commands implemented by .exe files work: git-fetch.exe, git-merge.exe, git-push.exe, etc.

It appears all the commands implemented as scripts to not work:

Git\libexec\git-core\git-pull
Git\libexec\git-core\git-rebase

etc. So, whatever git.exe is calling to run the libexec\git-core scripts appears to be farkled...

1st update

Here we go again... "git pull" has gone sideways (pretty sure it was working yesterday):

I:\Work\bitbucket\PluralSight\proj1 [work2]> git stat
On branch work2   nothing to commit, working directory clean
I:\Work\bitbucket\PluralSight\proj1 [work2]> git fetch
Password for 'https://user@bitbucket.org':
I:\Work\bitbucket\PluralSight\proj1 [work2]> git pull
*fatal: 'pull' appears to be a git command, but we
were not able to execute it. Maybe git-pull is broken?*
I:\Work\bitbucket\PluralSight\proj1 [work2]>

I have uninstalled/reinstalled msysgit. I get the same results in PowerShell and cmd.exe.

Original Post

[work]> git rebase master
fatal: 'rebase' appears to be a git
command, but we were not   able to execute it.
Maybe git-rebase is broken?

Just reinstalled mSysGit on Win7x64. The PATH now includes:

C:\Program Files (x86)\Git\cmd  
C:\Program Files (x86)\Git\bin  

Any ideas on what's going wrong? I searched on GitHub, but didn't find any info there...


回答1:


I known this question is quite old but I ran into a similar problem. It may help someone else. To avoid problems with MinGW make, I had to rename sh.exe to ensure it was not in the path. After that, commands like git rebase were not working anymore giving the same error as in the question:

fatal: 'rebase' appears to be a git
command, but we were not   able to execute it.
Maybe git-rebase is broken?

As soon as I restored sh.exe, git rebase restarted to work.




回答2:


Can you find C:\Program Files (x86)\Git\libexec\git-core\git-rebase which is a shell script? It should be there in order to work.




回答3:


Not definitive (it doesn't explain why git is working on one of my computers but not the other), but it does provide some insight into what might be going on: https://groups.google.com/forum/#!topic/msysgit/VrQLAgQwJHM

I have installed the portable version, added it to my path, and git is working as expected again.



来源:https://stackoverflow.com/questions/17346755/maybe-git-rebase-is-broken

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!