특정 사용자가 액세스 할 수있는 Google 서버 중 하나에 git 리포지토리를 설정하고 싶습니다. 우리는 Stash를 out git host로 사용하고 Stash 키를 가진 사용자 만 밀어 낼 수 있습니다. 상자에있는 모든 사용자가 액세스 할 수있는 위치 (/ data/repo)에 로컬 코드를 만들고 권한이 부여 된 사용자가 변경하여 자신을 숨김으로 푸시 (서비스 계정이 아님) 할 수있게하고 싶습니다. 공용 repo에서 사용자 별 git 설정을 사용하려면 어떻게해야합니까?여러 사용자가 git repo를 사용하도록 설정하려면 어떻게해야합니까?
1
A
답변
1
git repo의 코드가 Chef 서버에 업로드되므로이 설정을 사용하고 있습니다. 이 공유 된 repo는 우리 작전 담당자가 git repo의 마스터 지점에서 자료를 가져와 요리사 서버에 업로드하는 데 사용됩니다. 그들은 한 ops 사용자가 파일을 변경하고 그것을 git에 맡기지 않고 요리사에게 업로드하는 경우에 대해 우려했습니다. 다른 사용자가 마스터와 업로드를 요리사에게 가져 오면 변경 사항이 손실 될 수 있습니다 (요리사 서버는 충돌을 전혀 처리하지 않습니다). 이를 피하기 위해, 그들은 모두 동일한 디렉토리에서 작업 할 것이므로, 변경된 사항은이 경우 git에 의해 충돌로 표시됩니다.
어떻게 처리했는지 알아 보았습니다.
리포 설정 :
<git clone command, creates folder 'repo'>
chmod -R g+rw repo
chmod g+s `find repo -type d
cd repo
git config core.sharedRepository true
이 설정은 공유로 REPO, 사용자의 그룹에 속하는으로의 repo에서 만든 새로운 설정 아무것도 표시합니다.
사용자 설정 :
cd ~
git config --global user.name <name>
git config --global user.email <email>
--global 플래그가 ~/.gitconfig 만듭니다. 여러 사용자가 공유 저장소에서 작업 할 수 있으며 모든 git 명령이이 파일을 참조합니다. 나는 2 명의 사용자와 이것을 테스트했습니다. 수정 된 내용은 모두에게 표시됩니다. 커밋은 각 사용자가 서명 할 수 있으며 누군가가 을 푸시하면 모두 커밋 된 변경 사항이 작성자 정보와 함께 그대로 푸시됩니다.
관련 문제
- 1. 여러 Firefox 프로필을 사용하도록 Selenium을 설정하려면 어떻게해야합니까?
- 2. HttpURLConnection에서 프록시를 사용하도록 설정하려면 어떻게해야합니까?
- 3. 여러 사용자가 공유 네트워크 드라이브에서 Git repo를 사용해도 안전합니까?
- 4. Netflix OAuth API에서 콜백을 사용하도록 설정하려면 어떻게해야합니까?
- 5. QWebView에서 SSLv3을 사용하도록 강제 설정하려면 어떻게해야합니까?
- 6. 방문자에게 example.com/index.html을 사용하도록 강제 설정하려면 어떻게해야합니까?
- 7. PHP를 hMailServer와 비슷한 메일을 사용하도록 설정하려면 어떻게해야합니까?
- 8. 하나의 git repo를 여러 TFS 작업 공간으로 작업하려면 어떻게해야합니까?
- 9. git repo를 사용하여 새 프로젝트를 만들려면 어떻게해야합니까?
- 10. 로컬 git repo를 github에 복제하려면 어떻게해야합니까?
- 11. Git 명령에 대해 자동 완성을 설정하려면 어떻게해야합니까?
- 12. tsplot으로 여러 마커를 설정하려면 어떻게해야합니까?
- 13. git repo를 composer.lock없이로드하십시오.
- 14. 저장소에 git repo를 저장 하시겠습니까?
- 15. 쉼표 대신 십진수로 마침표를 사용하도록 Chrome을 설정하려면 어떻게해야합니까?
- 16. WFP Toolkit에서 Aero 테마를 사용하도록 강제 설정하려면 어떻게해야합니까?
- 17. Verilog 모드에서 탭 대신 3 칸을 사용하도록 emacs를 설정하려면 어떻게해야합니까?
- 18. 다른 git repo로 git repo를 복사하는 방법?
- 19. 다른 GAE 앱에서 Cloud Datastore API를 사용하도록 설정하려면 어떻게해야합니까?
- 20. Rails에서 원하는 rbenv 버전의 Ruby를 사용하도록 강제 설정하려면 어떻게해야합니까?
- 21. 별도의 메이븐 로컬 저장소를 사용하도록 TeamCity 에이전트를 설정하려면 어떻게해야합니까?
- 22. IIS7에서 다른 포트를 사용하도록 특정 응용 프로그램을 설정하려면 어떻게해야합니까?
- 23. Drush가 Windows7에서 인터넷에 액세스하기 위해 프록시 서버를 사용하도록 설정하려면 어떻게해야합니까?
- 24. 사용자 정의 스키마에서 (복잡한) 데이터 유형을 사용하도록 Axis2를 설정하려면 어떻게해야합니까?
- 25. 삽입 된 웹 사이트의 전체 화면을 iframe에만 사용하도록 설정하려면 어떻게해야합니까?
- 26. 파이썬에서 레거시 데이터베이스와 함께 AutoField를 사용하도록 모델을 설정하려면 어떻게해야합니까?
- 27. VBA에서 50000 계열을 사용하도록 시퀀스에 대한 문을 설정하려면 어떻게해야합니까?
- 28. 사용자가 GitBlit 저장소를 밀어 넣을 수 없도록 설정하려면 어떻게해야합니까?
- 29. 로컬에서 git repo를 "fork"합니다.
- 30. 트랩이 git repo를 표시하지 않습니다
여기 개발자를 숨겨 둡니다. 처음에 왜 그렇게하고 싶어하는지 궁금합니다. Git의 전체적인 요점은 분산되어 있고, 각 개발자가 독립적으로 자신의 컴퓨터에서 실행할 수 있다는 것입니다. 동시에/data/repo에서 동시에 작업하는 여러 개발자를 어떻게 처리합니까? – charleso