gitlab 생성된 프로젝트 권한 문의
조회수 1770회
어드민 계정으로 gitlab에 testproject 라는 프로젝트를 private 형태로 생성하였습니다.
제 클라이언트 pc에서 다음과 같이 git 계정을 설정합니다.
$ git config --global user.name "kimXX"
$ git config --global user.email kimXX@email.com
3.다음과 같이 저장소를 가져와서 만듭니다.
$ git clone http://www.xxx.xxx/root/testproject.git
**질문1) testproject에 kimXX 계정의 사용자가 멤버에 없는데도 저장소가 만들어 지네요?
권한체크가 되야 하지않나요?**
4.파일을 만들어 다음과 같이 반영합니다.
$ touch README.md
$ git add README.md
$ git commit -m "add README"
$ git push -u origin master
**질문2) testproject에 kimXX 계정의 사용자가 멤버에 없는데도 생성한 파일이 push가 가능하는데
권한체크가 되야 하지않나요?**
gitlab에 들어가서 확인
**질문3) commit은 제 클라이언트에 설정된 계정으로 표시되는데, push는 admin계정으로 했다고 표시되는데 push도 클라이언트에 설정된 계정으로 표시되야 하지 않나요?
2 답변
-
시작하기 전에 아래 명령을 설명하겠습니다.
git config --global user.name "kimXX" git config --global user.email kimXX@email.com
이는 커밋의 작성자를 지정하기 위한 설정으로, git 저장소의 접근하기 위한 계정과는 관련이 없습니다.
질문 주신 내용을 보면 이미
Administrator
로 로그인이 되어 있는 상황이 입니다. 로그인을 유지 하지 않고 싶다면 아래와 같은 명령어를 입력할 필요가 있습니다.git config --global --unset credential.helper
질문1) testproject에 kimXX 계정의 사용자가 멤버에 없는데도 저장소가 만들어 지네요? 권한체크가 되야 하지않나요?
저장소가 private 으로 생성되었기 때문에
clone
을 할때도 저장소에 접근하기 위한 로그인이 필요 합니다. 로그인을 하고도 권한이 없는 계정은clone
할 수 없습니다.질문2) testproject에 kimXX 계정의 사용자가 멤버에 없는데도 생성한 파일이 push가 가능하는데 권한체크가 되야 하지않나요?
권한 확인 합니다. 권한이 없으면
push
가 불가능합니다.질문3) commit은 제 클라이언트에 설정된 계정으로 표시되는데, push는 admin계정으로 했다고 표시되는데 push도 클라이언트에 설정된 계정으로 표시되야 하지 않나요?
push
는 저장소의 계정으로 이루어지며, 커밋의 작성자는user.name
으로 설정됩니다. 올려주신 이미지를 보면push
는Administrator
로 되어 있지만 커밋의 작성자는Administrator
가 아닌 것을 볼 수 있습니다. -
댓글 입력