GIT에 관해서는 완전한 Noob입니다. 지난 며칠 동안 첫 발걸음을 내딛었습니다. 랩톱에 저장소를 설정하고 SVN 프로젝트에서 트렁크를 가져 왔습니다 (지점에 문제가 있었지만 작동하지 않음).
이제 랩탑에서 메인 데스크탑으로 당기거나 밀어 낼 수 있기를 원합니다. 노트북을 사용하는 이유는 하루에 2 시간 씩 여행하면서 기차에서 편리하며 좋은 일을 할 수 있습니다. 그러나 집에있는 메인 머신은 개발하기에 좋습니다. 집에 도착했을 때 랩탑에서 메인 컴퓨터로 밀거나 당길 수 있기를 원합니다. 이 작업을 수행하는 가장 간단한 방법은 LAN을 통해 코드 폴더를 공유하고 수행하는 것입니다.
git clone file://192.168.10.51/code
불행히도 이것은 나를 위해 작동하지 않는 것 같습니다 :
그래서 git bash cmd를 열고 위의 명령을 입력하면 C : \ code (두 컴퓨터의 공유 폴더)에 있습니다.
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
가장 간단한 방법으로 두 컴퓨터간에 저장소를 공유하는 방법
공식 저장소 지점이 될 다른 위치와 다른 개발자 및 CI 서버 등이 가져올 장소가 있습니다. 이것은 두 컴퓨터에서 동일한 리포지토리에서 작업 할 수 있도록하기위한 것입니다.
Sebastian의 제안에 따라 다음을 얻습니다.
C:\code>git clone --no-hardlinks file://192.168.10.51/code
Initialized empty Git repository in C:/code/code/.git/
fatal: 'C:/Program Files (x86)/Git/code' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
** 편집-답변 **
도움이 된 모든 덕분에. 나는 드라이브 매핑을 시도했지만 작동했지만 매핑하지 않고 다시 시도 할 것이라고 생각했습니다. 최종 결과는 다음과 같습니다.
git clone file://\\\\192.168.0.51\code
이것은 훌륭하게 작동했습니다.
감사
답변
파일 프로토콜에 UNC 경로를 적용하여 원격 URL을 지정할 수 있습니다 . 이를 위해서는 네 개의 슬래시를 사용해야합니다.
git clone file:////<host>/<share>/<path>
예를 들어, 기본 머신에 IP 192.168.10.51 및 컴퓨터 이름 main
이 있고 공유 이름 code
이 git 저장소 인 공유 가있는 경우 다음 명령 모두 동일하게 작동해야합니다.
git clone file:////main/code
git clone file:////192.168.10.51/code
Git 저장소가 서브 디렉토리에있는 경우 다음 경로를 추가하십시오.
git clone file:////main/code/project-repository
git clone file:////192.168.10.51/code/project-repository
답변
$ git clone --no-hardlinks /path/to/repo
위의 명령은 git 저장소가있는 디렉토리에 POSIX 경로 표기법을 사용합니다. Windows의 경우 디렉토리 C:/path/to/repo
는 .git
디렉토리입니다.
C:\some\dir\> git clone --local file:///C:/path/to/repo my_project
저장소가에 복제됩니다 C:\some\dir\my_project
. file:///
부품을 생략하면 --local
옵션이 내포됩니다.
답변
호스트 이름이있는 대답은 효과가 없었지만 이것은 효과가있었습니다.
git clone file : ////home/git/repositories/MyProject.git/
답변
file : //를 사용 하여이 작업을 성공적으로 수행했지만 절대 경로를 나타내는 슬래시가 하나 더 있습니다.
git clone file:///cygdrive/c/path/to/repository/
필자의 경우 Windows 용 Cygwin에서 Git을 사용하고 있는데 경로의 / cygdrive / c 부분으로 인해 볼 수 있습니다. 경로를 약간 조정하면 모든 git 설치와 함께 작동해야합니다.
리모컨 추가는 같은 방식으로 작동합니다
git remote add remotename file:///cygdrive/c/path/to/repository/
답변
공유를 네트워크 드라이브로 매핑 한 다음
git clone Z:\
대부분 추측 일뿐입니다. 나는 항상 ssh를 사용 하여이 일을합니다. 물론이 제안을 따르면 랩톱을 밀거나 당길 때마다 해당 드라이브를 매핑해야합니다. 창문 아래에서 작동하도록 ssh를 어떻게 조작하는지 잘 모르겠지만이 작업을 많이 수행하려면 조사 할 가치가 있습니다.
답변
내 자식 버전 (1.7.2) 때문인지 확실하지 않지만 머신 이름과 IP 옵션을 사용하여 위에 나열된 접근 방식이 작동하지 않습니다. 중요하지 않을 수도있는 추가 세부 사항은 리포지토리가 초기화되어 다른 시스템에서 푸시 한 베어 리포지토리라는 것입니다.
위와 같은 명령으로 위에서 설명한대로 project1을 복제하려고했습니다.
$ git clone file:////<IP_ADDRESS>/home/user/git/project1
Cloning into project1...
fatal: '//<IP_ADDRESS>/home/user/git/project1' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
과
$ git clone file:////<MACHINE_NAME>/home/user/git/project1
Cloning into project1...
fatal: '//<MACHINE_NAME>/home/user/git/project1' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
무엇을 했던 나를 위해 작업하는 것은 간단한 일이었다 :
$ git clone ../git/project1
Cloning into project1...
done.
참고-복제 된 리포지토리가 베어졌지만 (git repo의 내부와 달리) 내가 기대했던 모든 실제 코드 / 이미지 / 리소스 파일이있는 ‘정상’클론이 생성되었습니다.
답변
절대 경로 또는 상대 경로를 입력하십시오.
예를 들어 아래 첫 번째 경로는 절대 경로를 사용합니다.
(이것은 리포지토리와 하위 폴더로 백업을 포함하는 폴더 내부에 있습니다. 또한 백업 폴더가 이미 포함되어 있으면 수정되지 않으며 새 폴더가 없으면 새 폴더가 생성됩니다)
~/git$ git clone --no-hardlinks ~/git/git_test1/ ~/git/bkp_repos/
다음은 상대 경로를 사용합니다.
~/git$ git clone --no-hardlinks git_test1/ bkp_repos2/