source

비어 있지 않은 기존 디렉토리를 Git 작업 디렉토리로 변환하고 파일을 원격 저장소에 푸시하는 방법

factcode 2023. 4. 19. 23:32
반응형

비어 있지 않은 기존 디렉토리를 Git 작업 디렉토리로 변환하고 파일을 원격 저장소에 푸시하는 방법

  1. 이름을 바꾸거나, 이동하거나, 삭제할 수 없는 파일이 있는 디렉토리(예: /etc/something)가 비어 있지 않습니다.

  2. 이 디렉토리를 git에 체크인하고 싶습니다.

  3. "git push" 등을 사용하여 이 저장소의 상태를 원격 저장소(다른 컴퓨터의)에 푸시할 수 있어야 합니다.

이것은 Subversion(현재는 Subversion을 사용하여 수행)을 사용하는 경우에는 다음과 같은 간단한 작업입니다.

svn mkdir <url> -m <msg>
cd <localdir>
svn co <url> .
svn add <files etc>
svn commit -m <msg>

git에 해당하는 것은 무엇입니까?

빈 디렉토리로 "git clone"하고 단순히 .git 디렉토리를 이동하여 모든 것을 작동시킬 수 있습니까?

<url> 빈 장 and and and and:

cd <localdir>
git init
git add .
git commit -m 'message'
git remote add origin <url>
git push -u origin main

이게 제 방식입니다.나는 무슨 일이 일어나고 있는지 이해하기 위해 설명을 추가했다.

로컬 저장소 초기화

  • 먼저 Git 초기화

    git init

  • 버전 관리를 위한 모든 파일 추가:

    git add를 클릭합니다.

  • 선택한 메시지와 함께 커밋을 만듭니다.

git - m 'Adding Base Code' 커밋

원격 저장소 초기화

  • GitHub에서 프로젝트를 만들고 프로젝트의 URL을 복사합니다.다음과 같이 합니다.

여기에 이미지 설명 입력

원격 리포와 로컬 리포 연결

  • 복사된 URL을 사용하여 로컬 repo를 원격 GitHub repo와 링크합니다.git 클론을 사용하여 저장소를 복제하면 복제된 저장소를 다시 가리키는 오리진이라는 원격 연결이 자동으로 생성됩니다.remote 명령어는 추적 대상 저장소 집합을 관리하는 데 사용됩니다.

    git remote add origin https://github.com/hiteshsahu/Hassium-Word.git

동기화

  • 이제 로컬 코드를 원격 코드와 병합해야 합니다.이 단계는 매우 중요합니다.그렇지 않으면 GitHub에서 코드를 푸시할 수 없습니다.코드를 푸시하기 전에 '깃풀'을 호출해야 합니다.

    git pull origin master --allow-filename-master

코드 커밋

  • 마지막으로 GitHub에서 모든 변경 사항을 푸시합니다.

    git push -u 오리진 마스터

주의: Github에서는 기본 브랜치로 "main"을 사용합니다.프로젝트가 위의 명령에서 "master"를 "main"으로 대체하는 대신 "main"을 사용하는 경우

제 해결책은 다음과 같습니다.

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

원격 저장소가 비어 있지 않은 경우(이것은 hub.jazz.net에서 IBM DevOps를 사용하는 경우) 다음 순서를 사용해야 합니다.

cd <localDir>
git init
git add -A .
git pull <url> master
git commit -m "message"
git remote add origin <url>
git push

1월 17일 30일 편집: 아래의 코멘트를 참조해 주세요.고객이 올바른 레포에 접속하고 있는지 확인해 주세요.

2021년에 이것을 하는 새로운 공식 방법.파일이 들어 있는 디렉토리로 이동합니다.이 경우 저장소에 파일이 이미 없는 것으로 가정합니다.

git init
git add .
git commit -m "initial commit"   
git remote add origin https://<git-userName>@github.com/xyz.gi
git branch -M main    # New
git push -u origin main # New

경우에 따라서는 이 명령어를 사용하여 업스트림을 설정해야 합니다.

git branch --set-upstream-to=origin/main main

그런 다음 이 명령으로 힘을 가합니다.

git push -u origin main --force

.gitignore 및 license와 같이 gitub 저장소가 비어 있지 않은 경우

pull --allow-unrelated-histories사용하고 force-with-lease푸시합니다.

명령어 사용

git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/...
git pull origin master --allow-unrelated-histories
git push --force-with-lease

가장 간단한 방법은 다음과 같습니다.

이것이 공식적인 방법은 아닐지 모르지만 잘 작동한다.

"라는 이름의 프로젝트가 있다고 가정합니다.XYZ" 를 클릭합니다.이제 gitub에서 이 프로젝트의 git repo를 만들고 그 기능을 사용하고자 합니다.

순서 1: 「」로 이동합니다.www.github.com"

순서 2: "를 사용하여 저장소 생성README.md파일(마음에 드는 이름을 붙입니다.

순서 3: 저장소를 PC에 복제합니다.

순서 4: 클론된 폴더에는, 다음의 2개의 정보가 표시됩니다..git폴더와README.md"파일. 프로젝트 폴더에 이 두 개를 복사합니다."XYZ".

순서 5: 클론된 repo를 삭제합니다.

스텝 6: 프로젝트의 모든 파일과 폴더를 추가, 커밋 및 푸시합니다.

이제 프로젝트를 사용할 수 있습니다.XYZ"를 git 저장소로 사용합니다.

저도 비슷한 문제가 있었어요.저장소를 만들려는 디렉터리가 아닌 새 저장소를 만들었습니다.그런 다음 작성한 파일을 저장소로 만들고 싶은 디렉토리에 복사했습니다.그런 다음 방금 파일을 복사한 디렉토리를 사용하여 기존 저장소를 엽니다.

메모: 기존 저장소를 만들고 열기 위해 github 데스크톱을 사용했습니다.

디폴트로 저장소를 작성했을 경우의 해결 방법을 다음에 나타냅니다.readme file또는license

git init
git add -A
git commit -m "initial commit"   
git remote add origin https://<git-userName>@github.com/xyz.git //Add your username so it will avoid asking username each time before you push your code
git fetch
git pull https://github.com/xyz.git <branch>
git push origin <branch> 

언급URL : https://stackoverflow.com/questions/3311774/how-to-convert-existing-non-empty-directory-into-a-git-working-directory-and-pus

반응형