본문 바로가기
프로그래밍/Git | Repository

Bitbucket에 Git을 이용하여 간단하게 파일 업로드하기

by 남생 namsaeng 2022. 3. 14.
반응형

Bitbucket은 팀 단위로 작업할 때 프로젝트의 소스파일을 유지하고 변경사항을 관리하는 데 적합한 협업 도구이다. Github와 비교하였을 때 여러 가지 장점이 있다.

 

Github의 무료 사용은 업로드하는 패키지 용량이 500MB로 제한되어 있으며, private repository를 생성하려면 요금을 지불해야 한다. 반면에, Bitbucket은 무료로 무제한의 private repository를 생성할 수 있으며, 한 번에 올릴 수 있는 파일의 최대 크기는 1GB, repository의 최대 용량은 4GB이다.

 

Bitbucket은 소스코드가 아닌 일반 파일을 공유하는 클라우드 저장소 용도로도 매력적이다. 하지만 GUI로 파일을 업로드하기가 쉽지 않아 Git을 이용하여 간단하게 파일을 업로드 할 수 있는 방법을 작성하였다.

 

[nam@localhost ~]$ cd Downloads// Downloads 폴더에 업로드 할 파일이 있다.
[nam@localhost ~]$ git init// git을 시작한다.
[nam@localhost ~]$ git remote add origin https://NamSaenga@bitbucket.org/NamSaenga/testrepo.git // 업로드 repository의 remote 주소를 origin으로 이름 짓는다.
[nam@localhost ~]$ git pull origin master // repository에 있는 내용을 로컬로 가지고와 업데이트한다.
[nam@localhost ~]$ git add aloha// “aloha”라는 파일을 업로드 할 것이다.
[nam@localhost ~]$ git commit –m “aloha” // 파일을 올리는 것도 repository의 변경사항이니 commit을 해준다.
[nam@localhost ~]$ git push —set-upstream origin +master // “.gitignore 파일”이 있을 수 있으니 “+master”로 강제로 올린다.

 


 

 

Git을 이용하여 Bitbucket에 파일을 올릴 때 발생할 수 있는 오류들

 

Problem1 : 비밀번호 오류
 
[namsaeng@localhost Downloads]$
git clone https://NamSaenga@bitbucket.org/NamSaenga/testrepo.git
Cloning into 'testrepo.git'...
Gtk-Message: 12:19:08.095: Failed to load module "canberra-gtk-module"
remote: Invalid credentials
fatal: Authentication failed for 'https://bitbucket.org/NamSaenga/testrepo.git/'
 
Solution1 : 올바른 비밀번호를 입력한다.
 

 

Problem2 : Failed to load module "canberra-gtk-module" 오류
 
[namsaeng@localhost Downloads]$
git clone https://NamSaenga@bitbucket.org/NamSaenga/testrepo.git
 
Cloning into 'testrepo'...
Gtk-Message: 12:19:20.106: Failed to load module "canberra-gtk-module"
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 583 bytes | 583.00 KiB/s, done.
 
Solution2 : “git init .”을 clone 먼저 입력한다.

 

Problem3 : “git add [FILENAME]” 오류
 
[namsaeng@localhost Downloads]$ git add aloha
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
 
Solution3 : “git init .”을 입력한다.

 

Problem4 : “git push origin master’ 오류
 
[namsaeng@localhost Downloads]$ git push origin master
error: src refspec master does not match any
error: failed to push some refs to 'origin’
 
Solution4 : ‘origin’이라는 remote 주소가 있는지 확인한다.
1) “git remote –v”을 입력해서 ‘origin’이 있는지 확인한다.
2)
“git remote add origin https://NamSaenga@bitbucket.org/NamSaenga/testrepo.git” 을 입력해서 remote 주소를 만들어준다.

 

Problem5 : “git push --set-upstream origin master” 오류
 
[namsaeng@localhost Downloads]$ git push --set-upstream origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
 
Solution5 : Solution4를 수행한다.

 

Problem6 : “git pull origin master” 오류
 
[namsaeng@localhost Downloads]$ git pull origin master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
 
Solution6 : Solution4를 수행한다.

 

Problem7 : “git push origin master” 오류
 
[namsaeng@localhost Downloads]$ git push origin master
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
 
Solution7 : “git push --set-upstream origin master”를 입력한다.

 

Problem8: “git push --set-upstream origin master” 오류
 
[namsaeng@localhost Downloads]$ git push --set-upstream origin master
Gtk-Message: 12:26:18.768: Failed to load module "canberra-gtk-module"
To https://bitbucket.org/NamSaenga/testrepo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://bitbucket.org/NamSaenga/testrepo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
 
Solution8 : 프로젝트에 .gitignore 파일이 있어서 업로드가 되지 않는 상황이다.
“git push --set-upstream origin +master”를 입력한다.

 

Bitbucket

반응형

댓글