✅만약 회사에서 신규 프로젝트를 시작 한다면?
✅혹은 기존 프로젝트에 투입이 된다면?
새로운 프로젝트를 시작한다면 일단은 프로젝트 프레임을 팀장님(신규 프로젝트의 책임자)이 만들어 Github나 Svn에 업로드 하시고 팀원들에게 역할 분배를 해주신다.
기존 프로젝트에 투입 된다면 Github나 Svn에서 기존 프로젝트를 다운받아야 한다.
그리고 나는 맡은 파트 개발을 시작해야 한다. 내 작업물을 올리고 팀원들의 작업물과 취합하며 프로젝트를 완성시켜 나간다.
또한 소스코드 합본을 내 로컬 저장소로 다운 받아 업데이트 시켜야 한다.
새롭게 만들고 팀원들과 취합하고 그 합본을 다운받고, 계속하여 여러 경우의 수에 맞춰 테스트 하고 이렇게 하나의 프로젝트를 완성 혹은 유지보수한다.
대략적으로 일은 이렇게 진행된다🤯
➡ 프레임 프로젝트를 다운 받을 workspace로 이동
ssnhh@DESKTOP-9APISNT MINGW64 ~
$ cd C:/사용 할 workspace 이름
👉clone시킬 주소를 복사 (https든 ssh든 상관🙅♀️, ssh key를 등록해놨다면 ssh 사용)
$ git clone git@github.com:ssnhhyejin/toy_project.git co-project
Cloning into 'co-project'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 10 (delta 0), reused 8 (delta 0), pack-reused 0
Receiving objects: 100% (10/10), done.
👉 git@github.com:ssnhhyejin/toy_project.git 뒤에 프로젝트를 저장 할 directory 이름을 붙임.
안해도 상관 🙅♀️
workspace안에 여러 디렉토리들이 존재해서 따로 폴더를 만들어 저장하기 위해 붙인것임
ssnhh@DESKTOP-9APISNT MINGW64 /c/사용 할 workspace 이름
$ cd co-project
ssnhh@DESKTOP-9APISNT MINGW64 /c/사용 할 workspace 이름/co-project (main)
$ dir
toy.html
$ code .
👉업로드 한 파일이 제대로 잘 다운된 것을 확인!
📂code . 을 실행하면 해당 directory를 workspace로 바로 visual studio가 실행된다.
1) git add .
2) git commit -m "ssnhhyejin first commit"
3) git checkout -b ssnhhyejin
➡ branch 생성 후 동시에 ssnhhyejin 로 checkout
4) git push origin ssnhhyejin
➡ main이라는 branch는 최종적으로 소스코드가 병합 되는 곳이다.
그런 곳에 함부로 내 소스코드를 push 할 수는 없다. 왜냐면 무슨 오류가 발생할지 모르기 때문이다. 따라서 내 소스코드는 main 외 따로 branch를 만들어 커밋 메시지와 함께 이곳에 올리는게 보편적이다. 추후 프로젝트 책임자가 내 소스 컨펌 후 main으로 merge시켜 프로젝트를 완성해 나가는 것이다.
+) git pull origin main
➡main에서 내 로컬로 업데이트 된 소스 다운 받는 명령어
👇소스를 수정
👇터미널 실행 후 명령어 입력
PS C:\Shin\workspace\co-project> git add toy.html
PS C:\Shin\workspace\co-project> git commit -m "make the new branch and push"
[main 8e8697f] make the new branch and push
1 file changed, 3 insertions(+)
PS C:\Shin\workspace\co-project> git checkout -b ssnhhyejin
Switched to a new branch 'ssnhhyejin'
PS C:\Shin\workspace\co-project> git push origin ssnhhyejin
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 333 bytes | 333.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
remote:
remote: Create a pull request for 'ssnhhyejin' on GitHub by visiting:
remote: https://github.com/ssnhhyejin/toy_project/pull/new/ssnhhyejin
remote:
To github.com:ssnhhyejin/toy_project.git
* [new branch] ssnhhyejin -> ssnhhyejin
PS C:\Shin\workspace\co-project> git status
On branch ssnhhyejin
nothing to commit, working tree clean
PS C:\Shin\workspace\co-project> git log
commit 8e8697ffc04aae6b95e3c25b470e8a44798c7c2b (HEAD -> ssnhhyejin, origin/ssnhhyejin, main)
Author: ssnhhyejin <ssnhhyejin@gmail.com>
Date: Tue Feb 21 11:18:39 2023 +0900
make the new branch and push
🔈새로운 branch 확인
🔉branch로 checkout하면 commit 수 변경 됨
🔊확인하면 추가 된 소스코드 확인 가능
📌이렇게 여기까지 본인의 소스코드를 push 했으면 컨펌 후 merge되거나 수정사항이 전달 될 것이다!