초보자가 CodeCommit에서 새 저장소를 만든 후 클론을 생성하고 작업 지점을 만듭니다.
8600 단어 GitGitHubCodeCommitAWS
입문
지금까지 누군가가 이미 안에서 무엇을 만들었는지 데이터베이스에서만 복제 작업을 진행했다.
이번에는 자신이 CodeCommit로 자료 라이브러리를 만든 곳에서 여러 가지 물건을 채워 보았는데, 자신이 쓴 필기였다.
이런 배경이 있기 때문에 근본적으로 효과가 낮고 이상한 점이 있을 수 있습니다. 이런 경우 죄송합니다.
문장의 전제
동작 확인 환경
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18)
2.17.0
aws-cli/1.16.221 Python/3.7.4 Darwin/18.7.0 botocore/1.12.211
1. 새 저장소 만들기
(이번에는 SSH를 전제로 설명)
2. 새로 생성된 저장소 클론
$ git clone ssh://git-codecommit.{region}.amazonaws.com/v1/repos/sample-repository
Cloning into sample-repository...
warning: You appear to have cloned an empty repository.
마지막warning
에서'하늘의 자료고가 떨어진 것 같다'는 말이 나왔다.$ cd sample-repository
이 상태의 브랜치를 볼 때 내용이 없습니다.git 명령은 "주 지점에 있습니다"라고 말하지만, 여기에는 표시되지 않습니다.$ git branch
# 何も表示されない
# gitステータス確認
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
# gitコミットlog確認
$ git log
fatal: your current branch 'master' does not have any commits yet
3. 마스터의 첫 번째 약속
제출할 때 아무런 변경도 하지 않습니다.문서 레지스트리에 항목을 추가합니다.
$ git commit --allow-empty -m "first commit"
[master (root-commit) xxxxxxx] first commit
# gitステータス確認
$ git status
On branch master
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
nothing to commit, working tree clean
# gitコミットlog確認
$ git log
commit xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (HEAD -> master)
Author: Your Name <Your Email Address>
Date: Thu Aug 22 12:43:48 2019 +0900
first commit
보충: --allow-empty 옵션
--allow-empty
옵션이 없으면 새 파일이 없으면 다음과 같이 표시되며 제출이 허용되지 않습니다.$ git commit -m "First commit"
On branch master
first commit
nothing to commit
여담: Your branch is based on'origin/master', but the upstream is gone.의미
1차 제출 후
--allow-empty
에 나타난 이↓의 뜻을 간단히 조사했기 때문에 추적했다.Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
현재 로컬 git status
지점은 원래 이 지점의 원격 master
지점 (=master
에서 만든 것입니다 (Your branch is based on "origin/master").그러나 원격
'origin/master'
지점 자체의 내용이 비어 있기 때문에 빈 = 존재하지 않는 지점을 추적하고 있습니다 (=master
.그리고
upstream is gone
에서 복구할 수 있습니다. 즉, 원격 git branch --unset-upstream
지점 추적을 중지할 수 있습니다.또한
master
추적을 중지할 원격 지점을 지정할 수 있을 것 같습니다.참조:
- "Your branch is based on 'origin/master', but the upstream is gone" - V&V
- git branch 명령 - Qiita
4. 첫 번째 제출을 origin에 제출
$ git push origin master
Counting objects: 2, done.
Writing objects: 100% (2/2), 147 bytes | 147.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To ssh://git-codecommit.{region}.amazonaws.com/v1/repos/sample-repository
* [new branch] master -> master
이것이 끝난 후에 마침내 분지가 나타났다.$ git branch
* master
그리고 SourceTree나 명령행 또는 CodeCommit로 새로운 지점을 만들어 보세요!
git branch --unset-upstream <branchname>
) 지점을 전환할 때$ git checkout -b develop
Switched to a new branch 'develop'
# ブランチ確認
$ git branch
* develop
master
제목: 마스터가 제출하지 않으면
마스터 지점에서 제출하지 않는 것이 좋다는 말을 자주 들었기 때문에 저는 처음에 마스터를 만지작거리지 않고 그곳에서 새로운 지점을 만들고 체크 아웃했습니다. 위에서 말한 바와 같이push를 진행했습니다.
그래서 마스터의 원격 존재는 사라지고 제작의 지점에서 마스터를 만들어야 하기 때문에 번거롭다.
또한 이 방법은 마지막에 마스터 지점을 다시 만든 후에 작업 지점으로 전환하는 것을 잊어버릴 수 있습니다.
마스터가 제출한 내용은 비어 있기 때문에 최초 설명 방법으로 하는 것이 좋습니다.
develop
부터develop
시# リポジトリ内に移動してからのコマンド
$ git checkout -b "develop"
Switched to a new branch 'develop'
$ git commit --allow-empty -m "first commit"
[develop (root-commit) 321da3b] first commit
$ git push origin develop
Counting objects: 2, done.
Writing objects: 100% (2/2), 148 bytes | 148.00 KiB/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To ssh://git-codecommit.{region}.amazonaws.com/v1/repos/another-sample-repository
* [new branch] develop -> develop
$ git checkout -b "master"
Switched to a new branch 'master'
Your branch is based on 'origin/master', but the upstream is gone.
(use "git branch --unset-upstream" to fixup)
$ git branch --unset-upstream
# ブランチの切り替えを忘れずに
$ git checkout develop
Reference
이 문제에 관하여(초보자가 CodeCommit에서 새 저장소를 만든 후 클론을 생성하고 작업 지점을 만듭니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/USI/items/f6be81e738c879eec78b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)