2012-09-14 3 views
4

git에 문제가 있습니다. 바라건대 누군가 조언을 해줄 수 있기를 바랍니다.
NAS 드라이브에있는 마스터 리포지토리가 있습니다. 그럼 나는 리눅스 (우분투 12.04 서버)에 사용자 저장소가 있습니다. NAS 드라이브는 CIFS를 사용하여 Linux 서버에 마운트되므로 파일을 원격 저장소에서 /로 원격 전송할 때 HTTP 또는 SSH가 필요하지 않습니다.사용자 저장소에서 NAS에있는 마스터 저장소로 푸시 할 수 없습니다.

사용자 저장소에서 NAS의 마스터 저장소로 푸시하려고하면 NAS에서 권한 비트를 설정할 수 없다는 오류가 지속적으로 발생합니다. 나는 지난 며칠 동안이 많은 것을 연구했고 모든 사용자가 NAS에서 파일 사용 권한을 읽거나 쓸 수 있지만 NAS가 작동하는 방식으로 인해 chmod를 수행하여 사용 권한 비트를 변경할 수 없습니다. NAS에서 생성 된 파일에 대한 사용 권한 비트는 mount 명령 인수 (file_mode, dir_mode 등)에서 설정됩니다. 나는 NAS의 마스터 저장소에 사용자 저장소에서 밀어하려고 할 때

은 내가 오류입니다 : 어떤 조언을 크게 감상 할 수

[email protected]:~/slave_repository.git$ git push master_git 
Counting objects: 6, done. 
Delta compression using up to 12 threads. 
Compressing objects: 100% (3/3), done. 
Writing objects: 100% (5/5), 2.52 KiB, done. 
Total 5 (delta 0), reused 0 (delta 0) 
Unpacking objects: 100% (5/5), done. 
error: cannot fix permission bits on refs/heads/master.lock 
fatal: Unable to create 
'/mnt/nassource/master_repository.git/.git/refs/heads/master.lock': 
Operation not permitted 
fatal: The remote end hung up unexpectedly 
fatal: The remote end hung up unexpectedly 
[email protected]:~/slave_repository.git$ git config --global --list 
user.name=DBA 
[email protected] 
core.editor=emacs 
core.filemode=false 
merge.tool=diff 

......

+1

문제는 chmod가 아닌 파일 생성에있는 것으로 보입니다. CIFS 마운트를 통해 파일을 만들 수 없다면 수정해야합니다. – msw

+0

dba @ clp01 : ~/slave_repository.git $ touch /mnt/nassource/master_repository.git/.git/refs/heads/master.lock dba @ clp01 : ~/slave_repository.git $ ls -l/mnt/nassource/master_repository.git/.git/refs/heads/master.lock -rwxrwxr-- 1 sysadmin nasshare 0 Sep 14 09:57 /mnt/nassource/master_repository.git/.git/refs/heads/master.lock dba @ clp01 : ~/slave_repository.git $ chmod 777 /mnt/nassource/master_repository.git/.git/refs/heads/master.lock chmod :'/mnt/nassource/master_repository.git/.git/refs/의 권한 변경하기. heads/master.lock ': 작동이 허용되지 않습니다. 나는 그것의 확실하지 않다. 파일을 만들 수 있습니다. – jrizos

답변

0

NAS가 NFS를 지원합니까? 당신을위한 더 나은 선택 일 것입니다.

0

몇 분 전에이 문제가 발생했습니다. 원격 서버에서 새 파일 touch을 시도했지만 실패했습니다. 그래서 sudo git push theRemote을 사용했고 효과가있었습니다. 똑똑한 일은 아니지만 제 경우에는 .lock 파일에 매달려서 아무도 다른 사람이이 repo에 푸시하지 않아도됩니다.

관련 문제