기존 소스 코드를 GitHub로 가져 오기


609

컴퓨터에서 GitHub 계정으로 소스 코드를 가져 오려면 어떻게해야합니까?


4
GitHub GUI를 사용하고 구성을 작업 공간의 루트로 지정하고 "하드 드라이버에서 Repostitories 찾기"버튼을 클릭하면 작업 공간의 모든 Git 로컬 저장소를 식별하고 개별적으로 가져올 수 있습니다. 쉬운.
djangofan

1
@djangofan 어떤 github GUI를 언급하고 있습니까? GUI에 대한 링크가 있습니까?
앤더슨 그린


Pete의 답변은 OS X에서 훌륭하게 작동했습니다. GUI를 사용할 필요가 없습니다.
funroll

답변:


969

로컬 소스 코드가 있다면 먼저 원격을 '복제'하지 않고 새로운 원격 새 git 저장소에 추가하려는 경우 다음을 수행하십시오. 당신의 근원)

  1. 원격 저장소를 만들고 URL을 얻을 같은 git@github.com:/youruser/somename.githttps://github.com/youruser/somename.git

    로컬 GIT 저장소가 이미 설정된 경우 2 단계와 3 단계를 건너 뜁니다.


  2. 로컬로 소스의 루트 디렉토리에서 git init

    2a. .gitignore 및 README.md를 사용하여 저장소를 초기화하는 경우 git pull {url from step 1}무시하려는 소스에 파일을 커밋하지 않도록해야합니다.)

  3. 로컬 추가하고 (모든 것을 초기의 repo에서 당신이 원하는 커밋 git add .git commit -m 'initial commit comment')


  4. '원산지'라는 이름으로 원격 저장소를 첨부합니다 (복제와 동일).
    git remote add origin [URL From Step 1]

  5. git pull origin master원격 분기를 당겨 동기화되도록 실행 하십시오.
  6. 마스터 브랜치를 밀어 올리려면 (다른 브랜치를 위해 마스터를 다른 것으로 바꾸십시오) :
    git push origin master

92
나를 위해 일했다. git pull origin mastergit push 전에 실행해야한다는 것을 알았습니다 . 그것 없이는 푸시 시도 중에 "현재 지점의 끝이 뒤에 있기 때문에"오류가 발생했습니다. 아마도 Readme.md를 시작하여 원격 저장소를 만들었 기 때문일 수 있습니다.
yuvilio

5
SSH 프로토콜의 repo URL을 가져와 비밀번호를 입력하는 대신 ssh 개인 키를 사용하여 커밋 할 수 있습니다.
Snicolas

5
@yuvilio 그것이 바로 그 이유입니다. readme.md를 사용하여 github repo를 생성하면 실제로 원점을 만들려는 작업의 배후에 있습니다.

7
@Snicolas가 말했듯이 SSH를 사용하는 경우 git : //github.com/youruser/somename.git 대신 git@github.com : youruser / somename.git을 사용하십시오.
tsusanka

5
GitHub는 새로운 저장소를 생성 한 직후에 동일한 절차를 설명합니다. @yuvilio가 이미 말했듯이 README로 저장소를 초기화해서는 안됩니다. 대신 touch README.md기존 지역 리포지토리를 방문하십시오
Simone

41

이것은 우수한 무료 eBook ProGit에 설명되어 있습니다. 로컬 Git 저장소와 원격 저장소가 이미 있다고 가정합니다. 연결하려면 다음을 사용하십시오.

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

로컬 리포지토리에서 GitHub로 데이터를 푸시하려면 다음을 사용하십시오.

$ git push pb master

로컬 및 / 또는 원격 저장소를 아직 설정하지 않은 경우 GitHub이 책이전 장에서 도움말을 확인하십시오 .


21

GitHub GUI를 사용하여 언급 한 의견 중 하나는 사용에 대한 구체적인 도움을주지 않았으며 대부분의 대답이 명령 프롬프트에서만 유용하다는 것을 알았습니다.

GitHub GUI를 사용하려면 다음 단계를 수행하십시오.

  1. "+"버튼을 클릭하고 "로컬 리포지토리 추가"를 선택하십시오. 여기에 이미지 설명을 입력하십시오
  2. 기존 코드가있는 디렉토리로 이동하여 "추가"버튼을 클릭하십시오.
  3. 이제 "여기에 새 로컬 Git 저장소를 작성하십시오"라는 프롬프트가 표시되면 "예"단추를 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  4. "커밋 요약"및 "확장 설명"을 원하는대로 추가하십시오. 기본적으로 모든 파일은 확인 표시와 함께 선택되어 있어야합니다. "Commit & Sync"버튼을 클릭하십시오. 여기에 이미지 설명을 입력하십시오
  5. 이제 프로젝트의 이름과 설명 및 프로젝트를 푸시 할 계정 (여러 개가있는 경우)을 추가하라는 메시지가 표시됩니다. "Push Repository"버튼을 클릭하십시오 여기에 이미지 설명을 입력하십시오

회전하는 GitHub 아이콘으로 잠시 후 소스 코드가 로컬 저장소에 속하고 GitHub 계정의 원격 저장소와 함께 푸시 / 동기화됩니다. 이 모든 것은 이전에 GitHub GUI, GitHub 계정 및 SSH 키를 설정했다고 가정합니다.


@cfont 이것은 로컬 저장소에 이미 존재하는 긴 역사를 유지합니까, 아니면 하나의 거대한 커밋을 생성하고 모든 역사를 잃어 버렸습니까?
theJollySin

1
@ theJollySin, 죄송합니다. 스택 오버플로 알림이 제대로 작동하도록 노력해야합니다. 기존 로컬 리포지토리의 기록을 유지해야합니다. TBH, 나는 당시에 그것을 테스트하지 않았지만 그것이 그것이 당신의 지역 역사를 무너 뜨릴 이유를 생각할 수는 없습니다. 실제로, 당신이 실제로 커밋을 스쿼시하고 싶지 않다면 요점을 유지해야합니다.
cfont

12

JB가 올바르게 지적했듯이 GitHub에서 지침을 따르면 매우 쉽습니다.

로그인 할 때 http://github.com/new를 사용하여 GitHub에 새 저장소를 설정 한 후 표시되는 지침의 예는 다음과 같습니다 .

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

더 쉬울 수 없었다!!



8

Pete의 단계를 수행하려고 할 때 병합에 약간의 문제가있었습니다. 이것으로 내가 끝내었던 단계입니다.

  1. OS를 사용하여 .git커밋하려는 프로젝트 폴더 내부의 폴더 를 삭제하십시오 . 이렇게하면 작업 할 수있는 깨끗한 슬레이트가 제공됩니다. .gitignore프로젝트 폴더 안에 파일 을 만들 때도 좋습니다 . .gitignoregithub.com에서 리포지토리를 만들 때 생성 된 복사본이 될 수 있습니다 . 이 복사본을 수행하면 github.com 저장소를 업데이트 할 때 삭제하지 않습니다.

  2. Git Bash를 열고 방금 폴더를 삭제 한 .git폴더로 이동하십시오.

  3. 를 실행하십시오 git init. 현재 폴더에 로컬 저장소가 설정됩니다.

  4. 를 실행하십시오 git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [별칭]은 당신이 원하는 무엇이든 될 수 있습니다. [alias]는 로컬 리포지토리에 연결되므로 시스템 이름이 [alias]에 적합합니다. URL은 github.com에서 찾을 수 있으며 맨 위에 HTTP | SSH | Git Read-Only의 HTTP 버튼을 클릭해야합니다. git://URL 나를 위해 작동하지 않았다.

  5. 를 실행하십시오 git pull [alias] master. 로컬 저장소가 업데이트되고 병합 충돌이 발생하지 않습니다.

  6. 운영 git add .

  7. 운영 git commit -m 'first code commit'

  8. 운영 git push [alias] master


1
-1 이것은 "기존 코드를 github로 가져 오기"보다 조금 더합니다. 전체 저장소 히스토리를 삭제합니다!
Michael Durrant

6
  1. GitHub 대시 보드를 엽니 다 ( 로그인 한 경우 https://github.com/ 에 있음)
  2. 새 저장소를 클릭하십시오
  3. 빈칸을 채우십시오. 리포지토리 생성을 클릭하십시오.
  4. 표시되는 페이지의 지시 사항을 따르십시오

6

Bitbucket에서 :

기존 저장소를 밀어 올리십시오. 컴퓨터에 이미 Git 리포지토리가 있습니다. Bitbucket으로 푸시 해 봅시다 :

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi, -u는 --set-upstream과 동일합니다.
AnneTheAgile

4

여기에 기존 소스 파일을 GitHub 리포지토리에 추가하는 간단한 방법을 찾고있었습니다. @Pete의 완벽한 답변을보고 "뭐?! 더 간단한 방법이 있어야합니다." 라고 생각했습니다 .

5 단계로 간단한 방법이 있습니다 (콘솔 작업이 필요하지 않습니다).

정말로 서두르면 3 단계를 읽으십시오. 다른 사람은 완전성을 위해 거기에만 있습니다.

  1. GitHub 웹 사이트에서 리포지토리를 만듭니다. (이 단계별로 당신을 안내함으로써 당신의 지능을 모욕하지 않을 것입니다.)
  2. 새 저장소를 로컬로 복제하십시오. 웹 사이트 나 데스크탑 클라이언트 소프트웨어를 통해이 작업을 수행 할 수 있습니다.
  3. 하드 드라이브에서 새로 복제 된 저장소를 찾아 일반 디렉토리에있는 것처럼 파일을 추가하십시오.
  4. 변경 사항을 GitHub에 다시 동기화하십시오.
  5. 그게 다야!

끝난!


4

GitHub 리포지토리를 원격 오리진으로 추가하십시오 ([]를 URL로 대체).

git remote add origin [git@github.com:...]

마스터 브랜치로 전환하고 복사하여 브랜치를 개발하십시오.

git checkout master
git checkout -b develop

개발 브랜치를 GitHub 개발 브랜치로 푸시하십시오 ( -f힘을 의미).

git push -f origin develop:develop

3

실제로 GitHub에서 빈 저장소를 만들려면 (현재 시점) 터미널에 거의 복사하여 붙여 넣을 수있는 정확한 지침을 제공합니다.

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

다음은 GitHub 리포지토리를 시작한 다음 이미 만든 코드를 푸시하는 방법에 대한 지침입니다. 첫 번째 명령어 세트는 GitHub에서 직접 가져온 것입니다.

출처 : https://help.github.com/articles/create-a-repo/

  1. 페이지 오른쪽 상단에서을 클릭 한 다음 새 리포지토리 를 클릭 합니다 .

  2. 저장소에 짧고 기억하기 쉬운 이름을 작성하십시오. 예를 들어 "hello-world"입니다.

  3. 선택적으로 저장소에 대한 설명을 추가하십시오. 예를 들어 "GitHub의 첫 번째 저장소"

  4. 공용 또는 개인 저장소 작성 중에서 선택하십시오.

  5. README를 사용하여이 저장소를 초기화하십시오.

  6. 저장소를 작성하십시오.

축하합니다! 첫 번째 저장소를 성공적으로 작성하고 README 파일로 초기화했습니다.

이제이 단계 후에 로컬 컴퓨터의 코드를 방금 만든 저장소로 푸시하고 다음 단계를 수행하십시오.

  1. git init (코드가있는 루트 폴더에 있음)

  2. git add -A (이것은 커밋 할 디렉토리의 모든 파일과 폴더를 추가합니다)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (이 주소는 메인 페이지의 "ssh clone URL"에서 방금 만든 GitHub 저장소에 있습니다.)

  5. git push -u origin master

그게 다야. 이제 코드가 GitHub로 푸시됩니다. 이제 변경된 코드를 계속 밀어 내고 싶을 때마다 변경하십시오.

  1. git commit -m "New changes"

  2. git push origin master (마스터가 작업중인 지점 인 경우)


1

나를위한 해결책 :

문제는 파일 크기이며 100M을 초과 할 수 없습니다.

github로 마이그레이션하기 전에 저장소에서 다음을 수행하십시오.

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

준비된!

https://github.com/new/import 도구를 사용하여 다시 마이그레이션하십시오.

더보기 : github repohttps://rtyley.github.io/bfg-repo-cleaner/로 푸시하는 동안 오류가 발생했습니다

나는 당신을 도왔기를 바랍니다. :)


0

자식 허브에 리포지토리 만들기

GIT로 프로젝트를 추적하도록 허용

  1. CMD를 사용하여 프로젝트 파일이 보관되어있는 폴더로 이동하십시오-> cd / automation / xyz / codebase git status 명령을 사용하여 git 초기화를 확인하십시오. .git은 현재있는 폴더가 git에 의해 추적되고 있지 않음을 의미합니다. 이 경우 git init를 입력 한 다음 프로젝트를 추가하고 커밋하는 과정을 통해 프로젝트 폴더 내에서 git을 초기화하십시오.

다른 오류 메시지가 표시되면 해당 내용을주의 깊게 읽으십시오. git이라는 단어가 인식되지 않는다는 말로 git이 컴퓨터에 설치되어 있지 않다는 말입니까? git이 초기화 된 폴더 또는 하위 폴더에 이미 있다고 말하고 있습니까? Google에서 오류 및 / 또는 결과를 이해하고 수정하는 방법을 알아 봅니다.

이제 다음 명령을 실행하십시오.

#

echo "git hub repository name">> README.md git init git add README.md git commit -m "first commit"git remote add origin https : // #

저장소를 처음 열 때 얻을 수있는 위의 블록

마지막 명령 실행 후 오류가 발생하거나 아무 일도 일어나지 않으면 "git push -u origin master"걱정하지 마십시오

코드를 사용할 수있는 폴더로 이동하고 자식 확장을 통해 git [URL]으로 분기하십시오.

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