본문 바로가기

TIL

내일배움캠프 4기_미니프로젝트 1일차 TIL

728x90

내일배움캠프 4기_미니프로젝트 1일차 TIL

 

Git 저장소

개발자들의 SNS

변경사항을 보기 어려워 변경사항을 일목요연하게 관리하자!

 

 

📌 버전

유의미한 변화로 결과물이 나온것을 의미한다.

하나의 버전을 Commit이라고 하기도 한다.

 

프로그램 개발은 곧, 유의미한 변화를 쌓아 프로그램을 만들어 가는 것을 의미합니다.

 

📌 만약, 깃이 없다면?

  • 변경내역을 보기 어렵다.
  • 작업을 되돌리기 어렵다.
  • 협력이 어렵다.

 

📌 tensorflow

원격 저장소 호스트 서비스

벽돌(commit) 쌓듯이 하나하나 쌓아 개발!

 

📌 windows git bash

  • 작업 디렉토리 : 버전관리 대상 .git 생성되는 폴더
  • 스테이지 : index, 다음 버전, 후보가 올라가는 공간
  • 저장소(repository) : git이 관리하는 가상공간 

 

📌 branch 

버전의 분기(흐름)

우리 조는, 각자 팀원 소개를 할 html파일을 각 branch를 만들어 올리기로 했다.

 

📌 branch 사용이유?

서로 전혀 관련 없는 같은 코드를 다르게 수정할 경우 유용!

 

📌 작업순서

  1. 브랜치를 나눈다.
  2. 각자 브랜치에서 작업한다.
  3. 나눈 브랜치를 합친다.

가장 기본적인 브랜치(브랜치를 생성해주지 않아도 이미 있는 브랜치) : master

  • master head에서 본 브랜치 갯수 : 4
  • foo head에서 본 브랜치 갯수 : 5
  • bar head에서 본 브랜치 갯수 : 6

 


📌 깃 & 깃허브 연동

 

https://www.youtube.com/watch?v=P9gMl4O4kVg


윈도우의 경우, 비어있는 폴더를 만들고 그 폴더 안으로 들어가서 마우스 오른쪽 클릭 git bash here를 클릭하면 됨.

 

git 실습

 

 git init
숨긴 파일로 .git파일 생성
(폴더 위 보기 ->[표시/숨기기] -> 숨긴 항목 체크)



파일 만들기
touch a.txt

현재 작업 디렉토리 상태 보는 명령어
git status

스테이지에 올림
git add a.txt

스테이지에 올라간거 확인
git status

저장소에 올리기 + 버전에 대한 짤막한 메세지(버전)와 함께 올리기
git commit -m "commit_message"
git commit -m "a.txt 생성"


파일 열어서 변경하기고 확인
git status
modified 확인


모든 파일 스테이지에 올리기
git add .

화면 깨끗하게 지우기
clear

모든 git 기록 보기
git log

commit 418ccb010e89da63985c3bc57dc53fafa88fb495
commit hash라고 commit 구문하는 용도


branch실습

 

현재 브랜치 확인
git branch

foo라는 이름의 브랜치 만들기
git branch foo

 

📌  Checkout이란?

  • 특정 브랜치에서 작업할 수 있도록 작업 환경을 바꾸는 것
  • HEAD의 위치를 특정 브랜지의 최신 커밋으로 옮기는 것

 

foo branch로 이동
git checkout foo

bar라는 이름의 브랜치 만들면서 동시에 checkout
git checkout -b bar

브랜치 삭제
git branch -D bar
bar에 체크아웃되어 있으면 삭제 안됨.

브랜치 병합당하고 싶은 곳으로 체크아웃
git checkout master
git merge foo



충돌

출처 : 강민철 git 특강

git merge bar
-> conflict 발생!

 


<<<<<HEAD
master
======
bar
>>>>>bar

현재 브랜치 내용
==============
bar 브랜치 내용
뭘 반영해야 하는지 git에서 물어보는..?

1. 직접 선별한다.
2. 다시 commit 한다.


git log : logal 저장소

github 저장소 : 원격 저장소 

 

백업, 협업할때 사용.

  • clone
  • push
  • fetch
  • pull


📌 github 원격저장소에 밀어넣는 과정

 

git config --global user.email
git config --global user.name

 



push 
로컬 저장소의 변경사항을 원격저장소에 밀어넣는 것
일종의 업로드
변경사항(커밋)을 업로드

1. github 레지토리 생성

2. 원격저장소(밀어넣을 그 원격저장소의 경로를) 로컬 저장소에 저장
remote add

 

3. git push
git remote add orgin git@github.com:깃아이디/test.git
git remote
git remote -v
git push -u origin main

touch f.txt
git branch
git add f.txt
git commit -m "create f.txt"
git push
방금 만든 f.txt 생성




📌 pull

원격 저장소를 다른 누군가가 변경할 수 있음

github에서 생성된 파일, 변경사항을 깃허브로 밀어넣기
git pull



git clone ssh복사
.git이 없는 폴더에서 실행!




원격저장소의 settings > collaborators 에 들어가서 여러분의 
팀원 계정이름을 추가하면 메일로 초대장 전송!
팀원이 수락하면 그 저장소에 push 가능.