You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows版SourceTree推送前如何设置文件可执行权限位?

How to Set Executable Permissions for Files Before Pushing with SourceTree on Windows

如果你在Windows上用SourceTree管理要部署到Linux的脚本(比如*.sh、*.py这类),肯定被这个问题头疼过——推送到远程Linux服务器后脚本没有可执行权限,每次都得打开终端敲命令,效率太低了。下面我先回顾已知的命令行解决办法,再教你设置右键快捷操作,彻底简化这个流程!

一、已知的终端命令解法

因为Windows文件系统本身没有Linux的权限位概念,Git是通过git update-index命令来模拟设置可执行权限的:

  • 打开SourceTree的终端:点击顶部菜单栏的「终端」按钮,或者右键仓库选择「打开终端」
  • 单个文件设置:
    git update-index --chmod=+x path/to/your/script.sh
    
  • 批量处理同类型脚本(比如所有.sh文件):
    find . -name "*.sh" -exec git update-index --chmod=+x {} \;
    
  • 执行完后,你会在SourceTree的文件列表里看到该文件的权限变更记录,正常提交推送即可,远程Linux拉取后脚本就具备可执行权限了。

二、设置SourceTree右键快捷操作(一键搞定)

SourceTree支持自定义动作,我们可以把权限设置命令做成右键菜单,不用每次手动敲命令:

  1. 打开SourceTree,点击顶部菜单栏的「工具」→「选项」→「自定义动作」
  2. 点击「添加」按钮,填写以下信息:
    • 动作名称:可以填「设置可执行权限」(或者英文「Set Executable Permission」)
    • 脚本路径:找到你的git.exe路径,一般在SourceTree自带的Git目录里,比如C:\Program Files\Git\bin\git.exe(不确定的话,在终端输入where git就能查到)
    • 参数:输入update-index --chmod=+x "$FILEPATH"($FILEPATH是SourceTree的内置变量,会自动替换成你右键选中的单个文件路径)
    • 可选:给动作选个图标,方便快速识别
    • 勾选「显示在文件菜单中」和「显示在上下文菜单中」
  3. 点击「确定」保存设置
  4. 现在回到SourceTree的文件列表,右键点击需要设置权限的脚本,就能看到你添加的「设置可执行权限」选项,点击它自动完成权限设置,直接提交推送就好!

批量设置多个文件的小技巧

如果需要一次性给多个脚本设置权限,只要把自定义动作的参数改成update-index --chmod=+x "$FILEPATHS"(注意是复数的$FILEPATHS),这样你选中多个文件后右键点击,就能一键批量设置权限啦。


内容的提问来源于stack exchange,提问作者Edward Ned Harvey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:55:13