성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] VT sequences to "CONOUT$" vs. STD_O...
[정성태] NetCoreDbg is a managed code debugg...
[정성태] Evaluating tail call elimination in...
[정성태] What’s new in System.Text.Json in ....
[정성태] What's new in .NET 9: Cryptography ...
[정성태] 아... 제시해 주신 "https://akrzemi1.wordp...
[정성태] 다시 질문을 정리할 필요가 있을 것 같습니다. 제가 본문에...
[이승준] 완전히 잘못 짚었습니다. 댓글 지우고 싶네요. 검색을 해보...
[정성태] 우선 답글 감사합니다. ^^ 그런데, 사실 저 예제는 (g...
[이승준] 수정이 안되어서... byteArray는 BYTE* 타입입니다...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>Visual Studio 2015에서 Github와 연동하는 방법</h1> <p> Visual Studio 2013에서는 github와 연동하는데 외부 도구를 사용해야 했습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Visual Studio - github 연동 ; <a target='tab' href='http://www.sysnet.pe.kr/2/0/1503'>http://www.sysnet.pe.kr/2/0/1503</a> </pre> <br /> 그런데, Visual Studio 2015부터는 외부 도구를 이용할 필요없이 설치 시에 다음과 같은 구성 요소만 설치해 주면 자체적으로 모두 해결이 됩니다. <br /> <br /> <img alt='github_vs2015_0.png' src='/SysWebRes/bbs/github_vs2015_0.png' /><br /> <br /> 2가지 구성 요소 모두 다음의 URL을 통해 별도 설치하는 것도 가능합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > GitHub for Windows ; <a target='tab' href='https://windows.github.com/'>https://windows.github.com/</a> GitHub Extension for Visual Studio 2015 ; <a target='tab' href='https://visualstudio.github.com/'>https://visualstudio.github.com/</a> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 그런데, 이 2가지 구성 요소를 설치했다고 해서 github와 바로 연동되는 것은 아닙니다. 가령, "<a target='tab' href='http://www.sysnet.pe.kr/2/0/1503'>Visual Studio - github 연동</a>" 글에서 실습했던 github의 로컬 repo 프로젝트를 Visual Studio 2015에서 열어보면 로컬 repo에만 commit할 수 있을 뿐 원격 repo로 push가 안되는 것을 볼 수 있습니다.<br /> <br /> 실제로 github 서버 측의 repo는 등록된 상태인데도,<br /> <br /> <img alt='github_vs2015_1.png' src='/SysWebRes/bbs/github_vs2015_1.png' /><br /> <br /> Team Explorer의 "Synchronization" 영역으로 가보면 다음과 같이 "Push" 항목이 비활성화되어 있습니다.<br /> <br /> <img alt='github_vs2015_2.png' src='/SysWebRes/bbs/github_vs2015_2.png' /><br /> <br /> "Actions" / "Open Command Prompt" 메뉴을 이용해 직접 push를 하고 싶어도 오류가 발생합니다. 다음은 https, ssh 연결 방식에 따른 push 오류 메시지를 보여줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. All rights reserved. D:\MyProject><span style='color: blue; font-weight: bold'>git push origin master</span> // <== https로 했을 때 fatal: unable to access 'https://github.com/stjeong/MyProject.git/': Protocol https not supported or disabled in libcurl D:\MyProject><span style='color: blue; font-weight: bold'>git push origin master</span> // <== ssh 경로로 했을 때 Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. </pre> <br /> <hr style='width: 50%' /><br /> <br /> 오류 메시지에서 짐작하셨겠지만, 이유는 간단합니다. 외부 연동 도구를 이용해 Visual Studio 2013에서 구성했던 "<a target='tab' href='http://www.sysnet.pe.kr/2/0/1503'>Visual Studio - github 연동</a>"의 경우 ssh 설정을 직접 해주었기 때문에 github 측의 원격 repo에 권한을 증명할 수 있었지만 Visual Studio 2015의 경우에는 그 작업이 없었던 것입니다.<br /> <br /> 따라서, 별도로 github 계정 설정을 해줘야 하는데요. 다행히 방법은 간단합니다. Team Explorer에서 전원 플러그 모양의 "Manage Connections" 버튼을 눌러 "Connect" 패널로 이동한 후 "Manage Connections" 링크를 눌러 펼치면 "Connect to GitHub" 메뉴가 나옵니다. (또는 한번도 Team Project 연결을 하지 않은 경우 아래 화면처럼 GitHub 관련 "Conenct" 링크와 함께 "Sign up" 기능이 제공됩니다.)<br /> <br /> <img alt='github_vs2015_3.png' src='/SysWebRes/bbs/github_vs2015_3.png' /><br /> <br /> 로그인을 통해 등록해 주면, 기존 프로젝트(repo)에 대해 최초 한번은 원격 repo에 커밋할 수 있도록 "Push"가 아닌 "Publish" 링크를 눌러 커밋할 수 있습니다.<br /> <br /> <img alt='github_vs2015_4.png' src='/SysWebRes/bbs/github_vs2015_4.png' /><br /> <br /> 일단 한번 Publish가 성공하면, 이후로는 "Push" 링크가 활성화되므로 그걸 이용하면 되고.<br /> <br /> <hr style='width: 50%' /><br /> <br /> 그런데, Publish 링크의 결과로 다음과 같이 오류가 발생할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Failed to publish the branch to the remote repository. see the Output window for more details. 분기를 원격 리포지터리에 게시하지 못했습니다. 자세한 내용은 출력 창을 참조하세요. </pre> <br /> 출력 창에는 이런 메시지가 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > Error encountered while publishing branch to the remote repository: Unsupported URL protocol 분기를 원격 리포지토리에 게시하는 동안 오류가 발생했습니다. Unsupported URL protocol </pre> <br /> 왜냐하면 "GitHub Extension for Visual Studio 2015" 도구는 github repo URL에 대해 "git@github.com:[계정]/[repo이름].git" 형식을 다루지 못하고 https 경로만 다룰 수 있기 때문입니다. 따라서, github에서 "<a target='tab' href='https://github.com/'>https://github.com/</a>[계정]/[repo이름].git" 형식의 경로를 알아내 Team Explorer의 "설정(Settings)" / "Git" / "리포지토리 설정(Repository Settings)"에 가서 "Remotes" 구획의 "Edit" 링크를 눌러 "Fetch", "Push" 경로를 https로 맞춰주시면 됩니다.<br /> <br /> <img alt='github_vs2015_5.png' src='/SysWebRes/bbs/github_vs2015_5.png' /><br /> <br /> <hr style='width: 50%' /><br /> <br /> GitHub Log in 창에서 다음과 같이 "Could not connect to github.com" 오류 메시지가 발생하는 경우가 있다면?<br /> <br /> <img alt='github_vs2015_6.png' src='/SysWebRes/bbs/github_vs2015_6.png' /><br /> <br /> 우선, <a target='tab' href='http://bhrnjica.net/2015/05/04/could-not-connect-to-github-com-in-visual-studio-2015/'>"GitHub Extension for Visual Studio"를 설치했는지 확인하고,</a> 되어 있다면 다시 한번 "<a target='tab' href='https://visualstudio.github.com/'>GitHub Extension for Visual Studio 2015</a>" 확장 도구를 다운로드 받아 업데이트하면 해결됩니다.<br /> <br /> <hr style='width: 50%' /><br /> <br /> Visual Studio의 git 동기화에서 fetch를 했는데 다음과 같은 오류가 발생할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > 원격 리포지토리에서 가져오지 못했습니다. 자세한 내용은 출력 창을 참조하세요. 가져오는 동안 오류가 발생했습니다. Failed to create temporary file '/pack_git2_??????': Access is denied. </pre> <br /> 오류 메시지가 좀 애매한데요. 실제로는 "원격 repo" 경로를 잘못 지정했을 때에도 저런 오류가 발생했습니다. 따라서, Team Explorer의 "설정(Settings)" / "Git" / "리포지토리 설정(Repository Settings)"에 가서 "Remotes" 구획의 "Fetch", "Push" 경로가 맞는지 확인합니다. 올바르게 설정한 이후에도 계속 동일한 메시지가 나온다면, "Actions" / "Open Command Prompt" 메뉴를 이용해 "git fetch" 명령어를 한번 수행해 주시면 됩니다.<br /> </p><br /> <br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
1522
(왼쪽의 숫자를 입력해야 합니다.)