먼저 bitbucket에 저장소를 만들지 않고 SourceTree를 사용하여 로컬 저장소를 Bitbucket에 푸시하려면 어떻게해야합니까?


116

내 로컬 git 리포지토리를 SourceTree로 가져와 내 Bitbucket 계정으로 푸시하는 방법이 있습니까? 내 계정에 내 로컬 리포지토리와 동일한 새 리포지토리가 생성되도록 할 수 있습니까? 아니면 먼저 온라인에서 repo를 만들고 그것을 푸시해야합니까? Github에는 클라이언트에서 직접 로컬 리포지토리를 게시하는 방법이 있으며 게시 할 때 자동으로 생성되지만 비공개 리포지토리가 제한되어 있습니다. 나는 단지 숙제를하고 있기 때문에 그것이 공개 될 이유가 없기 때문에 내가 bitbucket을 사용하려고하는 이유입니다.

답변:


152

(2019 년 3 월 29 일에 ssh 대신 https를 사용하도록 업데이트되었으므로 ssh 키를 사용할 필요가 없습니다)

BitBucket의 경우 먼저 온라인에서 리포지토리를 만들어야합니다. Atlassian 의 지침에 따라 새 BitBucket 저장소를 만들고 저장소 URL을 클립 보드에 복사 한 다음 해당 저장소를 로컬 저장소에 새 원격으로 추가하기 만하면됩니다 (아래 전체 단계).

Repo URL 가져 오기

  1. BitBucket 저장소에서 오른쪽 상단의 "복제"를 선택하십시오.
  2. 대화 상자의 오른쪽 상단에서 "SSH"대신 "HTTPS"를 선택하십시오.
  3. 형식으로 저장소 URL을 표시해야합니다. git clone <repository url>

CLI를 사용하여 원격 추가

  1. cd /path/to/my/repo
  2. git remote add origin https://bitbucket.org/<username>/<reponame>.git
  3. git push -u origin --all

SourceTree를 사용하여 원격 추가

  1. 리포지토리> 원격 추가 ...
  2. BitBucket 저장소 URL ( https://bitbucket.org/<username>/<reponame>.git)을 붙여 넣습니다.

이전 방법 : SSH 키 생성 및 등록

(이 방법은 https url 대신 ssh url을 사용하는 경우 ssh://git@bitbucket.org/<username>/<reponame>.git입니다. 모양은 . https를 사용하는 것이 좋습니다.)

BitBucket은 개인 저장소에 적합하지만 컴퓨터가 BitBucket 계정으로 작동하도록 인증하려면 ssh 키를 설정해야합니다. 다행스럽게도 Sourcetree는이를 비교적 간단하게 만듭니다.

SourceTree에서 키 생성 :

  1. 에서가 Tools> Options있는지 확인 SSH Client:으로 설정되어 PuTTY/Plink세 이하 General
  2. 선택 Tools>Create or Import SSH Keys
  3. 팝업 창에서 마우스를 클릭 Generate하고 이동하여 키 생성기에 임의성을 부여합니다.
  4. 아래 스크린 샷에 표시된 것과 같은 내용이 표시됩니다. 공개 키 (파란색으로 강조 표시됨)를 클립 보드에 복사합니다.

    퍼티

  5. 다음 섹션으로 이동하기 전에 및를 클릭 Save private Key하여 Save public key선택한 위치 (예 : <Home Dir>/putty/ssk-key.ppk<Home Dir>/putty/ssh-key.pub각각)에 키를 저장합니다.

BitBucket에 키 등록

  1. BitBucket 계정에 로그인하고 오른쪽 상단에서 프로필 사진을 클릭하고Settings
  2. SSH Keys왼쪽 사이드 바 의 탭으로 이동 합니다.
  3. 을 클릭 Add SSH Key하고 이름을 지정한 다음 이전 섹션의 4 단계에서 복사 한 공개 키를 붙여 넣습니다.

그게 다야! 이제 BitBucket 프라이빗 리포지토리로 푸시 / 풀 수 있습니다. 키는 Git 전용이 아니며 많은 서비스에서 ssh 키를 사용하여 사용자를 식별하며 가장 좋은 점은 하나만 필요하다는 것입니다. 키를 분실 한 경우 (예 : 컴퓨터를 변경할 때) 새 키를 만들고 등록하는 단계를 따르십시오.

참고 : CLI를 사용하여 SSH 키 생성

이 튜토리얼을 따르십시오.


를 사용 Paste the BitBucket repository url (git@bitbucket.org/<username>/<reponame>.git)하면 ssh 키를 추가해야합니다. 이미 존재하는 것이 없다면 고통이 될 것입니다.
Alex Kyriakidis 2015 년

1
예, BitBucket은 대부분 개인 저장 소용이므로 시작하려면 ssh 키가 필요합니다. 걱정하지 마세요.보기만큼 나쁘지는 않습니다! 나는 내 대답에 대한 빠른 튜토리얼 추가
woojoo666

3
HTTPS를 사용하는 것이 훨씬 쉬울 때 SSH 및 공개 / 개인 키로 어려움을 겪고있는 이유는 무엇입니까? 에서 Clone대화, HTTPS에 SSH에서 내려 오른쪽 상단 드롭을 전환하고 URL 얻을 :https://bitbucket.org/<reponame>.git
댄 Dar3

1
@ DanDar3 예, 감사합니다. 이것은 저에게 많은 번거 로움을 덜어주었습니다.
Excrubulent

1
@ DanDar3 와우 훨씬 쉽습니다. 답변을 업데이트했습니다. 감사합니다!
woojoo666

24

실제로 더 간단한 솔루션이 있습니다 (Mac 버전에서만). 4 단계 :

  1. 저장소를 마우스 오른쪽 버튼으로 클릭하고 "원격에 게시 ..."를 선택합니다.

SourceTree 원격 Screeshot에 게시

  1. 다음 창에서 게시 (github, bitbucket 등)를 요청하면 완료됩니다.
  2. 원격 저장소 연결
  3. 푸시

이것은 새로운 것이어야합니다. 실제로 한동안 리포지토리를 사용하지 않았기 때문에 한번 해보도록하겠습니다.
cma0014 2015

3
실제로 Windows가 아닌 SourceTree의 Mac 버전에서만 확인했습니다. :(
David

1
예, 원격에 저장소를 생성했는지 확인했지만 로컬 저장소의 원격에 링크를 설정하지 않았습니다. 다음 버전을위한 멋진 업그레이드가 될 것입니다
David

1
@bauerMusic 이것은 "진행 중"창에서도 나에게 일어났습니다. 그러나 최근에는 아닙니다. U가 말했듯이 ...이 기능으로 뭔가 실패합니다. 우리 모두가 예상하는 것처럼 새로운 원격 저장소에 연결되지 않습니다. 그럼에도 불구하고 SourceTree는 내가 찾은 최고의 Mac 용 GIT 관리자입니다.
David

1
그것은 실제로는 REPO를 생성하고 원격 지역과 함께 링크, 나를 위해 완벽하게 작동, 어쩌면 2016 년 이후 그들은 그것을 개선
KROSS

10

비디오에서 알 수 있듯이 온라인에서 먼저 저장소를 만드는 것이 일반적인 방법입니다.

SourceTree 릴리스 노트 SourceTree 1.5에 대한 언급을 할 :

Bitbucket의 팀 / 조직 계정에서 새 리포지토리 생성을 지원합니다.

따라서 "게시"기능은 없지만 SourceTree에서 온라인 저장소를 만들 수 있습니다.

블로그 게시물 " SourceTree for Windows 1.2 is here "(2013 년 9 월)에도 다음 내용이 언급되어 있습니다.

이제 SourceTree에서 Bitbucket, Stash 및 GitHub 계정을 구성하고 해당 서비스의 모든 리포지토리를 즉시 볼 수 있습니다. SourceTree를 떠나지 않고도 쉽게 복제하고 웹에서 프로젝트를 열고 원격 서비스에 새 저장소를 만들 수도 있습니다 .
View> Show Hosted Repositories 아래의 메뉴 또는 북마크 패널 오른쪽 하단의 새 버튼을 사용하여 찾을 수 있습니다.

http://blog.sourcetreeapp.com/files/2013/09/hostedrepowindow.png


집에 가면해볼 게요, 고마워요!
cma0014 2014-06-19

예,하지만 로컬 dev 폴더를 저장소로 만드는 것은 어렵습니다.
Ben Racicot 2015

3

나는 이것을 사용했고 그것은 나를 위해 잘 작동했습니다. 디렉토리가

"repo"이고 프로젝트는 "hello"입니다. 거기에 프로젝트를 복사하십시오.

cd /path/to/my/repo

디렉토리 초기화

git init

프로젝트 준비

git add hello

프로젝트를 맡다

git commit

Bitbucket에서 사용중인 이메일 및 사용자 이름을 사용하여 구성 추가

git config --global user.email
git config --global user.name

프로젝트에 주석 추가

git commit -m 'comment'

지금 프로젝트 추진

git push origin master

마스터에서 확인

git checkout master

3

Bitbucket은 프로그래밍 방식으로 Bitbucket 저장소를 만드는 데 사용할 수있는 REST API를 지원합니다.

https://confluence.atlassian.com/bitbucket/repository-resource-423626331.html#repositoryResource-POSTanewrepository 에서 문서 및 cURL 샘플을 사용할 수 있습니다.

$ curl -X POST -v -u username:password -H "Content-Type: application/json" \
   https://api.bitbucket.org/2.0/repositories/teamsinspace/new-repository4 \
   -d '{"scm": "git", "is_private": "true", "fork_policy": "no_public_forks" }'

Windows에서는 Git Bash 셸에서 curl을 사용할 수 있습니다.

이 방법을 사용하면 로컬 git 서버에서 Bitbucket으로 많은 저장소를 가져 오는 스크립트를 쉽게 만들 수 있습니다.


1

Bitbucket 저장소 설정 (Mac의 명령 줄)

로컬 저장소로 시작하여 새 애플리케이션을 만듭니다.

  1. 터미널-> cd ~ / Documents (APPLICATION 기본 디렉토리 경로 붙여 넣기)
  2. 터미널-> mkdir (을 사용하여 디렉토리 생성)
  3. 터미널-> cd (디렉터리로 디렉터리 변경)
  4. BitBucket A / C-> bitBucket 계정에 저장소 생성
  5. Xcode-> 동일한 이름으로 새 xcode 프로젝트 만들기
  6. 터미널-> git init (빈 저장소 초기화)
  7. 터미널-> git remote add origin (예 : https : //app@bitbucket.org/app/app.git )
  8. 터미널-> git add.
  9. 터미널-> 자식 상태
    1. 터미널-> git commit -m "IntialCommet"
    2. 터미널-> git push origin master

APPLICATION 복제 저장소 생성 :

  1. 터미널-> mkdir (을 사용하여 디렉토리 생성)
  2. 터미널-> cd (디렉터리로 디렉터리 변경)
  3. 터미널-> git clone (예 : https : //app@bitbucket.org/app/app.git )
  4. 터미널-> cd
  5. 터미널-> git 상태 (편집 / 업데이트 된 파일 상태 표시)
  6. 터미널-> git pull origin master
  7. 터미널-> git add.
  8. 터미널-> git push origin master

1

Windows 사용자를위한 또 다른 솔루션 :

이는 Github를 브리지로 사용하여 Bitbucket으로 이동하기 때문에 Windows Sourcetree 앱에서 직접 게시 할 수 없습니다.

  1. 로컬 리포지토리를 Github 데스크톱 앱에로드합니다.
  2. 저장소를 Github 데스크탑 앱에서 Github 계정에 개인 (개인 정보 보호를 위해-원하는 경우) 저장소로 게시하십시오.
  3. Bitbucket 웹 사이트에서 개인 / 팀 계정을 엽니 다.
  4. Github에서 가져 와서 새 Bitbucket 저장소를 만듭니다.
  5. Github에서 저장소를 삭제하십시오.

이 작업이 완료되면 모든 것이 Bitbucket에로드됩니다. 이제 로컬 리모컨이 Bitbucket을 가리 키도록 구성해야 할 것입니다.


0

GIT는 커밋과 분기가 적절하게 유지되는 경우 버전 제어 및 팀 프로젝트의 목적에 잘 부합합니다.
1 단계 : 위 답변에서 언급 한대로 CLI를 사용하여 로컬 리포지토리 복제

$ cd [path_to_repo]
$ git remote add origin ssh : //git@bitbucket.org//.git
$ git push -u origin --all

2 단계 : 위의 단계를 따라 작업을 밀거나 당길 수 있습니다. 쉬운 방법은 git gui를 사용하는 것입니다. 그래픽 인터페이스를 제공하여 쉽게 스테이징 (추가) / 스테이지 해제, 커밋 / 커밋 해제 및 푸시 / 풀이 용이합니다. 초보자는 git 프로세스를 쉽게 이해할 수 있습니다.

$ git gui

(또는)
2 단계 : 위에서 언급 한대로. CLI 코드가 작업을 수행합니다.

$ git status
$ git add [file_name]
$ git commit _m "[Comit message"] "
$ git push origin master / branch_name


0

Joe의 답변에 대한 업데이트로 API를 사용하여 저장소 생성을 스크립팅 할 수 있다는 점에서 필요한 API 호출 만 달랐습니다. 이는 우리가 bitbucket 클라우드가 아닌 bitbucket 서버를 사용하고 있기 때문일 수 있습니다.

서버의 프로젝트 내에서 새 저장소를 만들기 위해 다음을 사용했습니다.

curl -X POST -v -u USER:PASSWORD -H "Content-Type: application/json" \
http://SERVER/rest/api/1.0/projects/PROJECTNAME/repos/ \
-d '{"scmid":"git", "name":"REPONAME"}'

여기서 USER, PASSWORD, SERVER, PROJECTNAMEREPONAME물론 원하는 / 필요한 값으로 하였다.

호출은 API 참조에 설명되어 있습니다.

/rest/api/1.0/projects/{projectKey}/repos

새 저장소를 만듭니다. 이 저장소가 생성 될 기존 프로젝트가 필요합니다. 사용되는 유일한 매개 변수는 name 및 scmId입니다.

인증 된 사용자는이 리소스를 호출하기 위해 컨텍스트 프로젝트에 대한 PROJECT_ADMIN 권한이 있어야합니다.


0

(적어도 Linux / WSL) bitbucket.org의 브라우저에서 로컬 리포지토리와 이름이 같은 빈 리포지토리를 만들고 로컬 리포지토리를 가져 오기 위해 bitbucket에서 제안한 지침을 따릅니다 (입력 할 명령 2 개).

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