相关疑难解决方法(0)

git可以在空格和制表符之间自动切换吗?

我在我的python程序中使用制表符缩进,但我想与使用空格的人合作(使用git).

有没有办法让git在推/取时自动在空格和制表符之间进行转换(例如,4个空格= 1个制表符)?(类似于CR/LF转换)

git tabs indentation

192
推荐指数
3
解决办法
5万
查看次数

在Github Pages上创建站点的登台和生产版本

我想使用Github Pages发布一个生产网站(例如,www.example.com)以及同一网站的暂存版本(例如,staging.example.com).

我在Github中为生产站点设置了一个repo(例如my-jekyll-website),创建了一个gh-pages分支,并将repo的根级别的CNAME文件设置为www.example.com.效果很好.

现在,能够将更改推送到staging.example.com的最痛苦的方法是什么?

我尝试过的一件事是在Github上设置第二个远程仓库(例如my-jekyll-website-staging),然后将其作为远程添加到我的本地git配置中.效果很好,除了需要将repo中的CNAME文件更改为staging.example.com才能使其正常工作.这不好,因为当我想部署到生产时,我需要将CNAME文件更改回www.example.com.不理想.

我已经看过使用git 过滤器内容驱动程序,但如果我理解正确,那就是在本地修改文件,而不是将不同版本的文件推送到不同的遥控器.

编辑:我还考虑过根本不使用自定义域进行暂存:即,只使用username.github.io/my-jekyll-website-staging.不幸的是,然后我的站点根目录相对链接(例如/images/foo.bar)中断了,因为baseurl现在在生产和登台之间是不同的.

git github-pages

10
推荐指数
1
解决办法
2966
查看次数

Git钩子,修改提交文件

我正在尝试编写git pre-commit钩子脚本,它应该在修改文件的开头写入提交日期.我的问题是我无法将修改过的文件添加到以前的提交中.当我再次尝试调用git commit时,它会运行递归.如何编写脚本,在修改后的文件末尾添加修改时间?

我的代码:

#!/bin/bash

files_modified=`git diff-index --name-only HEAD`

for f in $files_modified; do
    if [[ $f == *.groovy ]]; then
        $line = $(head -1 f)
        if [[ $line == "/%%*" ]];
        then
            sed -i 1d
        fi
        echo "/%% " + $(date +"%m_%d_%Y") + " %%\\" >> f
        git add f
    fi
done 
git commit --amend #recursive
exit
Run Code Online (Sandbox Code Playgroud)

git bash hook commit pre-commit-hook

8
推荐指数
1
解决办法
3835
查看次数

撤消 git rm 。-r --缓存或提交更改?

我试图让我的 .gitingore 工作(链接到问题:))。

我刚刚做完

git rm . -r --cached 
Run Code Online (Sandbox Code Playgroud)

现在,当我输入时,我有一个已删除文件的完整列表:

git status -s 
Run Code Online (Sandbox Code Playgroud)

这是正常的吗?我可以安全地提交所有更改吗?

或者也许有办法撤消这个命令?

PS:我试图理解这个命令的作用,但我只发现了这个: http: //brianloomis.wordpress.com/2009/08/10/git-rm-r-cached/ 而且我不太清楚。

PS 2:好的:)为了拯救我的皮肤,我进行了重置:

git reset HEAD *
Run Code Online (Sandbox Code Playgroud)

已删除的文件已经再见了:) git status -s 中不再可见。但执行命令仍然安全:

git rm . -r --cached and then add and commit it? 
Run Code Online (Sandbox Code Playgroud)

git gitignore git-rm

5
推荐指数
1
解决办法
9796
查看次数

保持git不要求提交更改

我们在一个项目中有几个配置文件,有3个人正在处理.但是,这些配置文件包含几行不同的行,因此不应该被提交更改或覆盖.然而,Git不会让我们从其他人那里获取更改,除非我们提交那些配置文件更改,这意味着它会再次更改其他成员配置.

作为Git的新手,似乎我们需要创建分支并在每次提交时合并它们以更新我们的代码 - 或者使用.gitignore.处理这种情况的正确方法是什么?我们都需要不断访问其他成员所做的更改.

git

4
推荐指数
2
解决办法
756
查看次数