我想使用git分支将我的本地更改与团队的头部代码分开,该代码存储在Perforce存储库中。
Perforce在未更改的文件上使用只读标志,如果未设置只读标志,则不会更新已修改的文件,认为我可能已更改它们而不将它们放入更改列表。
我想将所有内容保持为只读主分支并修改其他分支上的文件。在签出master分支时,是否可以使msysgit恢复恢复文件的只读标志,以便p4可以同步所有内容?
答案 0 :(得分:3)
您可以使用bash脚本编写git post-checkout hook来设置只读标志...
有些事情:
# (flag==1?) && (HEAD == master) ?
if [ $3 == 1 ] && [ `git symbolic-ref -q HEAD` == "refs/heads/master" ]
then
# make everything in the given directory (recursively) read-only:
chmod -w [ path_to_repo | . ]/* -R
fi
看起来./*
跳过.git
文件夹(隐藏文件/文件夹一般?),但你应该检查一下以确定。您可能还想使用git仓库的完整路径,而不仅仅是./*
,这样您所在的目录/子目录无关紧要......