Visual Studio의 Git-기존 프로젝트를 추가 하시겠습니까?


105

기존 프로젝트를 Git 소스 제어 아래에 두려고하는데 몇 가지 사항이 명확하지 않습니다.

온라인으로 'Team Foundation Service'Git 계정을 설정했습니다.

현재 프로젝트 폴더에 ASP.NET MVC 4 솔루션이 있습니다. Git '리포지토리'를 로컬로 만들었습니다 (현재 빈 폴더). 이것이 프로젝트의 현재 애플리케이션 폴더 여야합니까? 아니면 사본이어야합니까?

기존 파일을 온라인 저장소로 가져 오려면 어떻게합니까?


"Visual Studio의 Git"에 대해 언급했습니다. Visual Studio 2012에서 git 도구를 사용하고 있습니까?
Edward Thomson

나는 이것이 이제 Team Explorer의 2015 버전에 포함되었다고 생각합니다. 나는 '게시'(초기화 후의 초기 푸시와 비교)를 할 수없는
곳에 부딪 혔으므로

답변:


148

비슷한 질문을 찾아 다녔습니다. 기존 프로젝트 파일에 대한 Git 리포지토리를 초기화하는 방법은 다음과 같습니다 (면책 조항 : Team Foundation Server 설정없이 Visual Studio 2013 Express에서 수행됨).

  1. Visual Studio에서 프로젝트를 엽니 다.
  2. 메뉴 파일소스 제어에 추가로 이동 합니다 .

그것은 나를 위해 해냈습니다-Git이 당신을 위해 설정되었다고 가정하면 메뉴 보기팀 탐색기 로 이동 한 다음 프로젝트 파일의 저장소를 두 번 클릭하고 초기 커밋을 만들 수 있습니다 (원하는 파일을 추가하십시오) ).


7
Visual Studio가이 세부 사항을 자동으로 처리하므로 "합리적인 .gitignore 파일을 제공"해야하는 번거 로움도 줄일 수 있습니다. 수동 git init와 이것 사이에서 이것은 지금부터 내가 선호하는 방법입니다.
MrCC

이 새 솔루션이 들어갈 프로젝트를 선택하려면 동기화 버튼을 클릭 한 다음 git repo에 게시를 클릭 한 다음 고급 솔루션을 클릭하고이 새 솔루션을 추가 할 프로젝트를 선택합니다. 다 당신이 다음 동기화 및 붐 수 있다는 것을
Jamisco

참고 : 다른 저장소에 포함 된 공유 라이브러리를 이미 추가했기 때문에이 방법이 작동하지 않았습니다. '소스 제어에 추가'옵션을 사용할 수있게되기 전에 공유 프로젝트를 제거해야했습니다.
Neil B

2
팀 탐색기 창에 추가해야합니다.
thReality

66
  1. 우선 로컬 개발 머신에 Git 소프트웨어를 설치해야합니다 (예 : Git Extensions) .
  2. 그런 다음 git init솔루션 폴더에서 수행하십시오. 이것이 저장소 폴더를 만드는 적절한 방법입니다.
  3. 합리적인 .gitignore파일을 설정하여 불필요한 것을 커밋하지 마십시오.
  4. git add
  5. git commit
  6. Team Foundation Server 계정에 설명 된대로 적절한 리모컨을 추가합니다. git remote add origin <proper URL>
  7. git push 당신의 코드

또는 Visual Studio 통합을 사용하는 자세한 가이드가 여기에 있습니다 .


이것은 훌륭하게 작동했습니다. Klas에게 감사드립니다! 참고 : 작동하려면 URL을 따옴표로 묶어야합니다.
Jack Fairfield


이 같은 모습은 이전 버전에 가리 확장 @JohnLBevan
클라스 Mellbourn

링크가 깨진

@PaulScharnofske 알려 주셔서 감사합니다. 지금 수정했습니다
Klas Mellbourn

15

Visual Studio를 둘러 본 후 마침내 필요한 것보다 훨씬 오래 걸린 답을 찾았습니다.

소스 제어없이 기존 프로젝트를 가져와 기존 EMPTY (중요 함) GitHub 저장소에 저장하려면 프로세스가 간단하지만 까다 롭습니다. 첫 번째 경향은 팀 탐색기를 사용하는 것이기 때문입니다. 문제가 있습니다.

먼저 소스 제어에 추가하십시오. 위에 그에 대한 설명이 몇 가지 있으며 모두가 여기까지 이해합니다.

이제 빈 LOCAL 저장소가 열리고 아무도 말하지 않는 트릭은 팀 탐색기를 완전히 무시하고 솔루션 탐색기로 이동하여 솔루션을 마우스 오른쪽 단추로 클릭하고 커밋을 클릭하는 것입니다.

그런 다음 기존 솔루션과 로컬 저장소 간의 모든 차이점을 커밋하여 기본적으로 이러한 모든 새 파일로 업데이트합니다. 기본 커밋 이름 '초기 파일'또는 보트에 떠 다니는 모든 것을 지정하고 커밋하십시오.

그런 다음 다음 화면에서 동기화 를 클릭 하고 EMPTY GitHub 저장소 URL에 놓기 만하면 됩니다. 비어 있는지 확인하십시오. 그렇지 않으면 마스터 분기 충돌이 발생하여 허용되지 않습니다. 따라서 새 저장소를 사용하거나 이전에 망친 저장소를 삭제하십시오. 이것은 Visual Studio 2013이므로 마일리지가 다를 수 있습니다.


14

솔루션을 마우스 오른쪽 단추로 클릭 하고 소스 제어에 추가를 선택 하십시오 . 그런 다음 Git을 선택합니다.

이제 프로젝트가 로컬 소스 제어에 추가되었습니다. 파일 중 하나를 마우스 오른쪽 버튼으로 클릭하고 Commit을 선택 합니다.

그런 다음 커밋 메시지를 입력하고 Commit을 선택 합니다. 그런 다음 동기화 를 선택 하여 프로젝트를 GitHub와 동기화합니다. Git 저장소가 필요합니다. GitHub로 이동하여 새 리포지토리를 만들고 리포지토리 링크를 복사 한 다음 원격 소스 제어 서버에 추가합니다. 게시를 선택 합니다.

그게 다야.


이 답변은 정확하고 VS 2015에서 작동합니다. 그러나 새로운 git 사용자라는 중요한 질문이있었습니다. VS 2015는 gitignore 파일을 만들지 않았거나 체크인해서는 안되는 VS에 의해 생성 된 dll / 파일을 무시하는 방법을 제공하지 않은 것 같습니다. 예를 들어 obj 폴더와 마찬가지로 모든 것을 로컬 저장소에 커밋하려고합니다. 다른 사람이이 문제가 있습니까? 나는이 모든 것들이 로컬에서 커밋되는 것을 원하지 않는다.
Matt

자세한 내용을 알면 위의 의견을 수정하겠습니다. 내가 디렉토리를 확인할 때 실제로 gitignore 파일을 빌드했는데 이는 매우 크기 때문에 훌륭하고 수동으로 빌드하는 것을 싫어할 것입니다. 그러나 로컬 리포지토리에 대한 초기 커밋을 시도했을 때 모든 파일을 git에 커밋 할 수 있었기 때문에 VS는이 gitignore 파일을 사용하지 않았습니다. 그래서 솔루션을 닫고 내 솔루션에서 .git 폴더와 2 git 파일을 삭제하고 (git에서 분리됨) 다시 열고 파일-> 소스 제어에 추가로 이동하고 git을 다시 선택했습니다. 이번에는 훌륭하게 작동했습니다.
Matt

이제 2019 년 12 월이며 훨씬 더 쉽습니다. 위의 단계를 수행하고 동기화를 누른 후 GitHub 계정과이 계정을 개인 저장소로 만들 것인지 묻는 메시지가 표시되었습니다. 일단 선택되면 새 저장소가 생성되고 (GitHub로 이동할 필요없이) 성공적으로 생성되었습니다.
batpox

5

SourceTree 사용 :

솔루션 탐색기에서 솔루션 이름을 마우스 오른쪽 단추로 클릭합니다. "소스 제어에 추가"를 선택합니다 .

그런 다음 SourceTree로 이동하여 Clone / New를 선택하십시오 . 작업 폴더 추가를 선택 하고 방금 솔루션 내부에 만든 새 Git 위치를 가리 킵니다.

빈 Git (Bitbucket 또는 GitHub)의 클론 주소를 가져 와서 SourceTree로 돌아가서 Remotes를 마우스 오른쪽 버튼으로 클릭 하고 New Remote를 추가 합니다 . (최신 버전에서는 RepositoriesAdd Remote ... 로 이동 하십시오 . 해당 상자에 URL을 붙여넣고을 누르십시오 OK.

이것이 초기 커밋과 푸시를 만드는 방법입니다.


5

가장 쉬운 방법은 MSDN 문서 Visual Studio 2017 및 VSTS Git와 코드 공유에 설명 된대로 분명히 있습니다.

  1. Visual Studio의 오른쪽 아래 모서리에있는 상태 표시 줄에서 소스 제어추가를 선택하여 프로젝트에 대한 새 로컬 Git 리포지토리를 만듭니다 . 그러면 솔루션이있는 폴더에 새 저장소가 만들어지고 해당 저장소에 코드가 커밋됩니다.

    여기에 이미지 설명 입력

  2. 팀 탐색기의 푸시보기에서 Visual Studio Team Services로 푸시 아래에있는 Git 리포지토리 게시 단추를 선택합니다.

    여기에 이미지 설명 입력

  3. Remote Source Control을 연결하고 저장소 이름을 입력하고 Publish Repository를 선택 합니다.

    여기에 이미지 설명 입력


3

Visual Studio 2015에서 마침내 작동하게 된 유일한 방법 git init은 명령 줄을 사용하여 디렉터리의 루트에서 실행 하는 것입니다. 그런 다음 Team Explorer로 이동하여 로컬 git 저장소를 추가했습니다. 그런 다음 해당 로컬 git 저장소를 선택하고 설정-> 저장소 설정으로 이동하여 원격 저장소를 추가했습니다. 이것이 마침내 Visual Studio를 통합하여 기존 프로젝트를 git과 함께 사용할 수 있었던 방법입니다.

나는 모든 답변을 읽었지만 그들 중 어느 것도 나를 위해 일하지 않았습니다. 기본적으로와 동일한 작업을 수행한다고 가정 한 File-> Add To Source Control로 이동 git init했지만 Team Explorer로 이동할 때 모든 옵션이 회색으로 표시 되었기 때문에 프로젝트를 초기화하지 않은 것 같습니다. 또한 변경 대화 상자에도 아무것도 표시되지 않습니다. 또 다른 대답은 Team Explorer에서 로컬 리포지토리를 생성해야하고 변경 사항이 표시되지만 작동하지 않는다고 말했습니다. 팀 탐색기의 모든 Git 옵션은 명령 줄을 통해 프로젝트를 초기화 한 후에 만 ​​작동했습니다.

저는 Visual Studio를 처음 사용하므로 분명한 것을 놓쳤는 지 모르겠지만 내 프로젝트가 Visual Studio에서 초기화되지 않은 것 같습니다.


"파일-> 소스 제어에 추가"를 선택한 후 "소스 제어-Git"창에 대한 출력 창에 어떤 것이 있습니까? Changes 페이지에서 아무것도 기대하지 않지만 Git 저장소의 기록을 보면 파일이 저장소에 커밋 된 "Add project files"커밋이 표시 될 것으로 예상합니다.
jamill

소스 제어 탐색기와 동일합니까? 그렇다면 아무것도 표시되지 않습니다. 소스 제어 플러그인을 추가하는 링크 만 표시합니다. 클릭하고 Git을 선택하면 아무 일도 일어나지 않습니다. 팀 탐색기 내의 다른 패널의 경우에도 아무 일도 일어나지 않습니다. 명령 줄에서 프로젝트를 초기화 한 다음 연결 창에서 로컬 리포지토리를 만든 후에야 VS Git 도구가 내 프로젝트와 상호 작용하는 것을 볼 수 있습니다.
chavab_1

2

먼저 원하는 상대 경로로 '솔루션 폴더'를 만듭니다. Visual Studio 2012는 동일한 상대 경로로 시스템 폴더를 만들지 않습니다.

이제 그 '솔루션 폴더'안에 새 프로젝트를 추가하지만, 시스템의 상대 경로가 새 '솔루션 폴더'의 상대 경로와 일치하도록 정의 할 때주의해야합니다. 원하는 시스템 폴더가없는 경우 Visual Studio 2012는 이제 새 프로젝트에 대해 폴더를 만듭니다. (위에서 언급했듯이 새 '솔루션 폴더'를 추가하면이 작업이 수행되지 않습니다.)

상대 경로가 일치하는 기존 파일을 추가하려면 먼저 Visual Studio 외부에서 일치하는 시스템 상대 경로에 파일을 만들어야합니다. 그런 다음 Visual Studio에서 기존 파일추가 할 수 있습니다 .


1

원하는 저장소가 이미있는 경우 (GitHub에있을 수 있음) 로컬 시스템에 복제 한 다음 솔루션 디렉터리를 여기에 복사 할 수 있습니다. 그런 다음 파일을 추가하고 파일을 커밋하고 로컬을 푸시합니다. 이렇게하면 솔루션이 저장소에 저장됩니다.


1

Visual Studio의 Git-기존 프로젝트 추가 ; GitHub, GitLab 등의 프로젝트에 로컬 저장소를 게시하는 방법.

따라서 솔루션을 만들었고 어딘가에 Git 계정을 통해 업로드하고 versioncontroller를 원합니다. Visual Studio 2015에는이를위한 도구가 팀 탐색기에 있습니다.

Meuep이 언급했듯이 솔루션을로드 한 다음 File >> 를 탐색 Add to Source Control합니다. 이것은 git init. 그러면 다음이 있습니다.

팀 탐색기 홈

이제 Settings >>를 선택 Repository Settings하고 리모컨으로 스크롤합니다 .

여기에 이미지 설명 입력

설정 origin(이 예약 된 이름을 거기에 넣어야 함)하고 URI를 설정합니다.

그런 다음 Add, Sync및을 사용할 수 있습니다 Publish.



0

GitHub에서 기존 프로젝트를 열려면 다음을 수행해야합니다 (이 단계는 Visual Studio 2013에만 해당됩니다 !!!! 이전 버전에서는 기본 제공 Git 설치가 없기 때문에 더 최신 버전).

  1. 팀 탐색기 → teamProjects에 연결 → 로컬 GitRepositories → 복제 .

  2. 브라우저에서 GitHub 주소를 복사하여 붙여 넣습니다.

  3. 이 프로젝트의 로컬 경로를 선택하십시오.


0

나를 위해 Git 저장소 (GitHub가 아님)가 이미 생성되었지만 비어 있습니다. 이것은 기존 프로젝트를 Git 저장소에 추가하기위한 솔루션이었습니다.

  1. Git Extensions로 저장소를 복제하고 체크 아웃했습니다.
  2. 그런 다음 기존 프로젝트 파일을이 저장소에 복사했습니다.
  3. .gitignore파일을 추가했습니다 .
  4. 모든 파일을 스테이징하고 커밋했습니다.
  5. 원격 저장소로 푸시되었습니다.

이 모든 작업이 Git Extensions와 같은 도구없이 Visual Studio 2015에서 직접 수행되는 것을 보는 것은 흥미로울 것입니다. 그러나 Visual Studio에서 시도한 작업이 작동하지 않았습니다 ( 내 프로젝트에서 소스 제어에 추가를 사용할 수 없으며 원격을 추가 할 수 없습니다. 도움 등).


0

솔루션 내에 프로젝트를 추가하려면 팀 탐색기 창을 열고 변경으로 이동하십시오. 그런 다음 추적되지 않은 파일에서보기 옵션을 클릭하고 트리보기로 전환을 선택하고 (이미 트리보기에 있지 않은 경우) 프로젝트 루트 폴더를 마우스 오른쪽 단추로 클릭 한 다음 추가를 선택 합니다.

여기에 이미지 설명 입력


0

나는 항상 이것을 잊어 버리므로 이것은 나 자신을 위해 더 많지만 VS를 사용하는 다른 사람을 도울 수 있습니다.

Visual Studio에는 솔루션이라는 개념이 있습니다. 그러나 git에서는 로컬 및 원격 분기에서 추적하는 git 저장소의 개념이 있습니다. git에 추가되는 모든 파일과 폴더는 로컬입니다.

이제 Visual Studio 솔루션으로 돌아가서 표준 템플릿 프로젝트를 만들면 해당 솔루션에 로컬로 모든 프로젝트를 만듭니다.

따라서 문제는 솔루션 또는 해당 문제에 대해 git에 로컬이 아닌 프로젝트를 추가 할 때 발생합니다. 솔루션 파일 .sln이 프로젝트 위치로 업데이트되지만 프로젝트, 프로젝트 파일 및 폴더의 실제 내용은 별도의 디렉터리 나 별도의 네트워크 드라이브 또는 하나의 일부 FTP 서버에 있기 때문에 git에 추가 할 수 없습니다. etc .... 이것은 .sln 파일로만 컴파일되는 프로젝트 파일에 대한 참조 만 원하거나 별도의 git 또는 github 저장소에 소스를 지정하려는 경우에 바람직 할 수 있습니다. 그러나 실제 파일이 git에 의해 로컬로 추적되는 것을 원하지는 않습니다.

이 문제를 해결하려면 (즉, git 저장소에 추가하려는 경우) 솔루션 및 해당 프로젝트 파일의 범위 내에서 관심있는 원격 파일을 로컬로 이동하면됩니다.


0

다음은 Visual Studio 2015에서 수행하는 방법입니다.

  1. 프로젝트를 열고 Tools >> Options >> "Source Control"탭으로 이동하여 "Git"를 소스 제어로 선택하십시오. 여기에 이미지 설명 입력

  2. 파일 메뉴로 이동하여 "소스 제어에 추가"를 선택하십시오.

이것이하는 일은 본질적으로 Visual Studio가 모든 종소리와 휘파람을 생성하여 "git init"를 실행하는 것입니다 (사용자 별 파일, 임시 파일, 디렉토리 등을 무시하는 것과 같이 파일을 무시하도록 설정).

기본적으로 git 저장소가 로컬에서 올바르게 생성되었습니다 (이 폴더에는 무시할 파일이 많이 포함되어 있으므로 VS 프로젝트의 주요 단계입니다).

이제이 git 리포지토리를 git bash (Visual Studio 외부)의 GitHub, BitBucket 등과 같은 다른 git에 연결할 수 있습니다.

이제이 작업 디렉토리에서 Git Bash 세션을 시작하고 BitBucket을 사용하기 때문에 거기에 제공된 지침을 따릅니다 (아래 행을 복사합니다).

git remote add origin https : //yourusername@bitbucket.org/yourusername/hookdemo.git

git push -u origin master

그게 다야.

이제 제대로 설정되었으므로 git 명령 줄 자체에서 저장소를 관리 할 수 ​​있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.