로컬 레포를 추가하고 원격 레포로 처리하는 방법
이름을 사용하여 로컬 대리점을 원격으로 작동시키려고 합니다.bak
다음을 사용하여 PC에 있는 다른 로컬 계정의 경우:
git remote add /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git bak
다음과 같은 오류가 발생합니다.
fatal: '/home/sas/dev/apps/smx/repo/bak/ontologybackend/.git' is not a valid remote name
두 개의 로컬 저장소를 동기화하려고 합니다. 하나는 원격 이름으로 구성되어 있습니다.bak
다른 것을 위해, 그리고 나서 발행.git pull bak
.
그것을 하는 가장 좋은 방법은 무엇입니까?
당신은 당신의 주장을 가지고 있습니다.remote add
역방향 명령:
git remote add <NAME> <PATH>
그래서:
git remote add bak /home/sas/dev/apps/smx/repo/bak/ontologybackend/.git
봐git remote --help
자세한 정보는.
쉽게 백업하거나 외부 드라이브에 부착하거나 클라우드 스토리지(Dropbox 등)를 통해 공유하기 위해 저장소의 로컬 복사본을 보관하는 것이 목표라면 저장소를 사용하지 않는 것이 좋습니다.이렇게 하면 공유에 최적화된 작업 디렉토리 없이 리포지토리의 복사본을 만들 수 있습니다.
예:
$ git init --bare ~/repos/myproject.git
$ cd /path/to/existing/repo
$ git remote add origin ~/repos/myproject.git
$ git push origin master
마찬가지로 원격 레포인 것처럼 복제할 수 있습니다.
$ git clone ~/repos/myproject.git
로컬 리모컨이 있는 로컬 레포를 만드는 세 가지 다른 시나리오를 설명하는 스크립트를 제공하기 위해 이 답변을 게시합니다.전체 스크립트를 실행할 수 있으며 홈 폴더에 테스트 저장소를 생성합니다(윈도우즈 gitbash에서 테스트됨).설명은 스크립트 내부에 있어 개인 노트에 쉽게 저장할 수 있으며, Visual Studio Code 등에서 쉽게 읽을 수 있습니다.
저는 또한 이 주제에 대한 유용하고 상세한 설명이 있는 델푸스의 답변에 링크를 걸어주신 잭에게 감사합니다.
제가 이곳에 처음으로 올린 글이니 개선해야 할 점을 알려주세요.
## SETUP LOCAL GIT REPO WITH A LOCAL REMOTE
# the main elements:
# - remote repo must be initialized with --bare parameter
# - local repo must be initialized
# - local repo must have at least one commit that properly initializes a branch(root of the commit tree)
# - local repo needs to have a remote
# - local repo branch must have an upstream branch on the remote
{ # the brackets are optional, they allow to copy paste into terminal and run entire thing without interruptions, run without them to see which cmd outputs what
cd ~
rm -rf ~/test_git_local_repo/
## Option A - clean slate - you have nothing yet
mkdir -p ~/test_git_local_repo/option_a ; cd ~/test_git_local_repo/option_a
git init --bare local_remote.git # first setup the local remote
git clone local_remote.git local_repo # creates a local repo in dir local_repo
cd ~/test_git_local_repo/option_a/local_repo
git remote -v show origin # see that git clone has configured the tracking
touch README.md ; git add . ; git commit -m "initial commit on master" # properly init master
git push origin master # now have a fully functional setup, -u not needed, git clone does this for you
# check all is set-up correctly
git pull # check you can pull
git branch -avv # see local branches and their respective remote upstream branches with the initial commit
git remote -v show origin # see all branches are set to pull and push to remote
git log --oneline --graph --decorate --all # see all commits and branches tips point to the same commits for both local and remote
## Option B - you already have a local git repo and you want to connect it to a local remote
mkdir -p ~/test_git_local_repo/option_b ; cd ~/test_git_local_repo/option_b
git init --bare local_remote.git # first setup the local remote
# simulate a pre-existing git local repo you want to connect with the local remote
mkdir local_repo ; cd local_repo
git init # if not yet a git repo
touch README.md ; git add . ; git commit -m "initial commit on master" # properly init master
git checkout -b develop ; touch fileB ; git add . ; git commit -m "add fileB on develop" # create develop and fake change
# connect with local remote
cd ~/test_git_local_repo/option_b/local_repo
git remote add origin ~/test_git_local_repo/option_b/local_remote.git
git remote -v show origin # at this point you can see that there is no the tracking configured (unlike with git clone), so you need to push with -u
git push -u origin master # -u to set upstream
git push -u origin develop # -u to set upstream; need to run this for every other branch you already have in the project
# check all is set-up correctly
git pull # check you can pull
git branch -avv # see local branch(es) and its remote upstream with the initial commit
git remote -v show origin # see all remote branches are set to pull and push to remote
git log --oneline --graph --decorate --all # see all commits and branches tips point to the same commits for both local and remote
## Option C - you already have a directory with some files and you want it to be a git repo with a local remote
mkdir -p ~/test_git_local_repo/option_c ; cd ~/test_git_local_repo/option_c
git init --bare local_remote.git # first setup the local remote
# simulate a pre-existing directory with some files
mkdir local_repo ; cd local_repo ; touch README.md fileB
# make a pre-existing directory a git repo and connect it with local remote
cd ~/test_git_local_repo/option_c/local_repo
git init
git add . ; git commit -m "inital commit on master" # properly init master
git remote add origin ~/test_git_local_repo/option_c/local_remote.git
git remote -v show origin # see there is no the tracking configured (unlike with git clone), so you need to push with -u
git push -u origin master # -u to set upstream
# check all is set-up correctly
git pull # check you can pull
git branch -avv # see local branch and its remote upstream with the initial commit
git remote -v show origin # see all remote branches are set to pull and push to remote
git log --oneline --graph --decorate --all # see all commits and branches tips point to the same commits for both local and remote
}
형식이 올바르지 않은 것 같습니다.
로컬로 생성된 리포지토리를 공유하거나 다른 리포지토리에서 기여를 가져오려면 새 리포지토리와 상호 작용하려면 일반적으로 원격으로 추가하는 것이 가장 쉽습니다.git remote add [alias] [url]을 실행하여 이 작업을 수행합니다.[alias]라는 로컬 원격 아래에 [url]을 추가합니다.
#example
$ git remote
$ git remote add github git@github.com:schacon/hw.git
$ git remote -v
http://gitref.org/remotes/ #원격
언급URL : https://stackoverflow.com/questions/10603671/how-to-add-a-local-repo-and-treat-it-as-a-remote-repo
'programing' 카테고리의 다른 글
종료 코드 255에서 ibtool이 실패하는 이유는 무엇입니까? (0) | 2023.05.20 |
---|---|
나머지 너비를 채우도록 div 확장 (0) | 2023.05.15 |
Angular Karma Jasmine 오류:잘못된 상태:지시문 요약을 로드할 수 없습니다. (0) | 2023.05.15 |
대소문자를 구분하지 않는 문자열을 LINQ-SQL로 비교 (0) | 2023.05.15 |
.NET: 어레이 목록 대 목록 (0) | 2023.05.15 |