로컬 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의 모든 일반적인 초기화를 처리합니다.
- .gitignore 파일 생성
- .git 초기화
- 서버에 베어 git 저장소를 생성합니다.
- 해당 원격 저장소에 푸시 할 로컬 git 저장소를 설정합니다.
특히 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
'programing tip' 카테고리의 다른 글
모든 종속성 및 패키지를 디렉터리에 다운로드하는 방법 (0) | 2020.12.14 |
---|---|
비동기 LINQ 쿼리를 작성하는 방법은 무엇입니까? (0) | 2020.12.13 |
ggplot에서 스트립 라벨의 위치를 위에서 아래로 변경할 수 있습니까? (0) | 2020.12.13 |
맞춤 Google Now 카드 만들기 (0) | 2020.12.13 |
gcc -D_FORTIFY_SOURCE = 1과 -D_FORTIFY_SOURCE = 2의 차이 (0) | 2020.12.13 |