programing tip

로컬 Git 저장소를 다른 컴퓨터로 푸시하는 방법은 무엇입니까?

itbloger 2020. 12. 13. 09:03
반응형

로컬 Git 저장소를 다른 컴퓨터로 푸시하는 방법은 무엇입니까?


랩톱에 로컬 Git 저장소 설정이 있습니다. 내 데스크톱으로 푸시하고 싶습니다.

어떻게 할 수 있습니까?


공유 디렉토리에 대한 액세스 권한이있는 경우 다음을 수행 할 수 있습니다 ( git clone참조 git remote).

git clone --bare /path/to/your/laptop/repo /shared/path/to/desktop/repo.git
git remote add desktop  /shared/path/to/desktop/repo.git

그러면 로컬 저장소에서 "desktop"으로 참조 되는 베어 저장소 가 생성됩니다 .
맨손이기 때문에 밀어 넣을 수 있습니다 (필요한 경우 당길 수도 있음)

git push desktop

는 AS ProGit 책 언급 , 자식은 파일 프로토콜을 지원합니다 :

가장 기본적인 방법은 원격 저장소가 디스크의 다른 디렉토리에 있는 로컬 프로토콜입니다.
팀의 모든 사람이 NFS 마운트와 같은 공유 파일 시스템에 액세스 할 수 있거나 모두가 동일한 컴퓨터에 로그인 할 가능성이 적은 경우에 자주 사용됩니다.


여기에 제가 작성한 스크립트가 있습니다. 스크립트는 새 git repos의 모든 일반적인 초기화를 처리합니다.

  1. .gitignore 파일 생성
  2. .git 초기화
  3. 서버에 베어 git 저장소를 생성합니다.
  4. 해당 원격 저장소에 푸시 할 로컬 git 저장소를 설정합니다.

http://gist.github.com/410050

특히 Windows 랩톱 / 데스크톱을 사용하는 경우 설정에 맞게 수정해야합니다.

다음은 전체 스크립트입니다.

#!/bin/bash
# Create Git Repository
# created by Jim Kubicek, 2009
# jimkubicek@gmail.com
# http://jimkubicek.com

# DESCRIPTION
# Create remote git repository from existing project
# this script needs to be run from within the project directory

# This script has been created on OS X, so YMMV

#######
# Parameters
REPLOGIN=#Login name
REPADDRESS=#Repo address
REPLOCATION=/Users/Shared/Development #Repo location

# The repo name defaults to the name of the current directory.
# This regex will accept foldernames with letters and a period.
# You'll have to edit it if you've got anything else in your folder names.
REPNAME=`pwd | egrep -o "/[a-zA-Z]+$" | egrep -o "[a-zA-Z\.]+"`


# If you have standard files/directories to be ignored
# add them here
echo "Creating .gitignore"
echo 'build/' >> .gitignore # The build directory should be ignored for Xcode projs
echo '.DS_Store' >> .gitignore # A good idea on OS X

# Create the git repo
echo "Initializing the repo"
git init
git add .
git commit -m "Initial commit"

# Copy the repo to the server
echo "Copying the git repo to the server $REPADDRESS"
TEMPREP="$REPNAME.git"
git clone --bare .git $TEMPREP
scp -r $TEMPREP $REPLOGIN@$REPADDRESS:$REPLOCATION/
rm -rf $TEMPREP

# Set up the origin for the project
echo "Linking current repository to remote repository"
git remote add origin $REPLOGIN@$REPADDRESS:$REPLOCATION/$REPNAME.git/

The easiest (not the best) way is to share the repository directory via LAN, and use git's file:// protocol (see man git).

For me, the best way is to use gitolite (see gitolite docs for detailed instructions).

참고URL : https://stackoverflow.com/questions/2888029/how-to-push-a-local-git-repository-to-another-computer

반응형