我在Windows中使用Git,并希望通过一次提交将可执行shell脚本推送到git repo.
通常我需要做两个步骤(git commit).
$ vi install.sh
$ git add install.sh
$ git commit -am "add new file for installation" # first commit
[master f2e92da] add support for install.sh
1 files changed, 18 insertions(+), 3 deletions(-)
create mode 100644 install.sh
$ git update-index --chmod=+x install.sh
$ git commit -am "update file permission" # second commit
[master 317ba0c] update file permission
0 files changed
mode change 100644 => 100755 install.sh
Run Code Online (Sandbox Code Playgroud)
如何将这两个步骤合并为一步?git配置?Windows命令?
提醒:两个答案都很好,git add --chmod=+x file新git版本支持
参考: …
我刚刚使用git克隆了一个项目并打开了一个新的分支.在更改了只有1个文件之后,我尝试提交更改,但它向我显示我提交了3000多个文件.点击任何文件以查看差异后,phpstorm说"没有差异".
我听说这可能是与行结尾有关的错误,但我现在不知道该怎么做.请你帮助我好吗?现在无法验证3000个文件,我不想通过推送疯狂的东西来破坏项目.
我尝试将phpstorm中的行结尾更改为LF(unix)和CRLF(windows),但它根本没有帮助.我听说可能有必要在git中更改它,所以我尝试运行一些随机推荐的命令,但根本没有结果.
编辑:增加了100个声望赏金.我无法解决这个问题
解决方案:好的,看起来这是特权问题.我在所有目录上都给了chmod 777,这太过分了.
我正在使用GitLab作为我的项目存储库.
从过去几周开始,我没有投入我的项目,因此我只是编写了它.
现在,当我尝试提交我的项目时,它向我显示我的所有文件都进行了任何类型的更改.
所以我尝试git diff命令:这里我附上了我得到的结果的截图.它清楚地告诉我所有索引文件都已更改.
我曾尝试谷歌解决问题,但我失败了.
所以最后我在这里得到解决方案.我不想提交我的所有文件