웹 UIUX

Git 하는 방법(GIT, 터미널, 커서, 테일윈드)

juju0409 2024. 10. 31. 18:35

수업페이지_url


Git을 왜 하나?)

- 퍼블리셔랑 개발자 사이 협업할 때 자주 사용하는 방식 

- 서로 작업물 공유할 수 있음


# 1단계_Node.Js 설치

- node. js_사이트

 

Releases · coreybutler/nvm-windows

A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows

github.com

 

  ㄴ세 번째 nvm-setup.exe 클릭 후 설치

 

ㄴ I accept the agreement 선택 후 next 

 

 ㄴ 터미널에 nvm 입력 후 Enter

 

ㄴ nvm list 입력 후 Enter

 

ㄴ nvm uninstall 20.18.0 입력 후 Enter

 

ㄴ nvm install 20.18.0 입력 후 Enter

ㄴ nvm list 입력 후 Enter(버전 연결 잘 됐나 확인)

 

 

nvm 명령어)

nvm list 현재 설치되어 있는 node.js 버전들 리스팅
nvm install v20.9.0 v20.9.0 설치
nvm uninstall v20.9.0 v20.9.0 삭제
nvm install v20.18.0 v20.18.0 설치
nvm use v20.18.0 해당 node 버전 활성화

# 2단계_윈도우 터미널 설치(필수)

- 윈도우 터미널_url

 

Windows Terminal - Windows에서 무료 다운로드 및 설치 | Microsoft Store

Windows 터미널은 명령 프롬프트, PowerShell 및 WSL과 같은 명령 줄 도구 및 셸 사용자를 위한 최신의 빠르고 효율적이며 강력한 생산성의 터미널 응용 프로그램입니다. 주요 기능으로는 여러 탭, 창,

apps.microsoft.com

 


# 3단계_Git Bash 설치

- 설치방법_사이트

 

 

설치 이유)

1. CMD, POWER SHELL 로도 충분히 원하는 작업을 할 수 있다

2. 다만 CMD, POWER SHELL 등의 프로그램은 프로그램별로 명령어가 다르다.

3. 가장 범용적인 쉘인 BASH SHELL 을 설치하면 BASH 명령어만 학습하면 된다.

 

BASH SHELL을 설치하려는데 왜 GIT을 설치하는가?)

1. GIT에 GIT BASH라는 BASH SHELL이 포함되어 있다.

2. 그리고 추후에 GIT은 다른 용도로도 쓰이기 때문에 설치해두면 좋다.

 

 

 

GIT 설치 옵션)

ㄴ 체크박스가 없으면 넘어가도 됨

 

 

 

 

 ㄴ 터미널에서 git bash를 쓸 수 있으면 성공

 

 

 


# 4단계_ 윈도우 터미널의 기본 프로필을 GIT BASH로 변경

 ㄴ 꺽새 모양 눌러서 설정 선택 → 기본 프로필 git bash로 선택 → 저장 선택 

ㄴ ls 검색 후 엔터(저장 된 파일 명 보기 위해서)


# 5단계_ 커서 가입, 커서 로그인, 커서 에디터 설치

- 설치방법_영상

- 커서 사이트 → 가입

ㄴ 우측 상단에  로그인을 Git-Hub 로그인   초록색 상자 선택 → 우측 상단에 다운로드 선택

 

- Git-Hub_사이트

ㄴ Git-Hub으로  로그인 

 

 

커서 완전삭제 1 단계)

ㄴ 윈도우키 누른 후 제거 입력 후 프로그램 추가/제거

 

 ㄴ 커서 삭제

 

 

커서 완전삭제 2 단계)

ㄴ 터미널 GIT BASH 접속 후 아래 명령어 입력

rm -rf "$USERPROFILE/AppData/Local/Programs/cursor"
rm -rf "$USERPROFILE/AppData/Local/Cursor"
rm -rf "$USERPROFILE/AppData/Roaming/Cursor"
rm -rf "$USERPROFILE/cursor"

 

 

ㄴ 첫 번째 상자 선택 / 로그인 선택

 

ㄴ 기본 세팅(언어를 한국어로 변경해줘야 함) / 마지막에 Install "cursor" 선택

 

ㄴ Start from Scratch 선택 


# 6단계_ ~ 은 홈 디렉토리를 의미하고 디렉토리는 폴더를 의미한다.

-  참고 영상

 

명령어/팁)

- ~ : 홈 디렉토리

- 디렉토리 : 폴더

- rm 파일명 : 파일삭제

- cd 폴더명 : CHANGE DIRECTORY, 폴더 이동

 

 

ㄴ 사용자 폴더에 js_projects 폴더 생성 →  js_projects 폴더 안에 site 3 파일 생성

 

 ㄴ pwd 치고 Enter

 

 ㄴ start . 치고 Enter 하믄 sbs 파일창이 열림

 

ㄴls. 치고 Enter 

 


# 8단계_ 커서 에디터 터미널의 기본 프로필을 GIT BASH로 변경

- 참고 영상

ㄴpowershell을 → Confugure Terminal Settings 클릭 → git bash 클릭

 

ㄴ 우측에 bash창 종료 하려면 exit 입력 or 우측에 휴지통 모양 아이콘 누르면 종료됨

ㄴ 휴지통 모양이 삭제 / X 모양은 하단 창 닫기 / 하단 창 열기 Ctrl + `


# 9단계_Ctrl + K로 터미널에서 AI로 명령

 

- cursor에서 ctrl + K를 누르면 하단에 AI 입력 창 뜸

ㄴ 챗지피티랑 차이점 : 내 폴더 구조를 챗 GPT는 모르지만 커서는 폴더 구조를  알고 있다는 것이 차이점★


# 11단계_GIT HUB 가입, GITHUB 계정 세팅에서 디폴트 브랜치 이름을 master에서 main으로 변경

- 참고영상

 

 

 

 

디폴트 브랜치 이름을 왜 변경하는가?)

- master 라는 이름이 노예제도를 연상시킨다고 하여서 요새는 다 main 으로 바꾸는 추세임

 


# 12단계_git 사용자 정보 등록(필수)

 

- 참고 영상

git config --global user.name # 확인
git config --global user.name "깃허브아이디"
git config --global user.email # 확인
git config --global user.email "깃허브이메일"

 

 

왜 GIT 사용자 정보를 입력해야 하는가?)

- GIT에서 커밋이라는 과정이 있는데, 일종의 세이브 파일을 생성하는 것과 같다.

- 해당 커밋을 누가 남겼는지 자동으로 기록이 된다.

- 그런데 GIT 사용자 정보가 없다면 커밋을 진행할 수 없다.

 

ㄴ 터미널에서 git config --global 입력

터미널에서 git config --global user.name입력

 터미널에서 git config --global user.email입력 / 터미널에서 git config --global user.email "juyoun5607@naver.com입력

 

 

이름하고 이메일 등록 잘 됐나 확인 터미널에 git config --global user.name입력 / 터미널에서

     git config --global user.email 입력


# 13단계_프로젝트 폴더 생성, 해당 폴더에 로컬 저장소 생성, 로컬 저장소를 원격 저장소와 연결

 

- 참고 영상

 

 ㄴ cd ~ 부터 시작 

 

ㄴprojects_ju는 프로젝트를 모아놓은 폴더 - > site-2024-11-01로 파일 변경 후 code .로 커서 열기

 

   git)

- 폴더 → 로컬저장소 → 원격저장소(github 저장소)

 

 

git 로컬 저장소 생성)

# 프로젝트 폴더에서 수행
rm -rf .git # 이것은 로컬 저장소 삭제, 필요하다면 수행
git init

ㄴ git init입력하면  새로운 폴더 생성 / .git 파일에 대한 파일 탐색기가 열림 → 로컬 저장소 생성

ㄴ 로컬 저장소 삭제 기능

 

ㄴ main이 뜨면 파일이 잘 생성된 거(main이 없으면 일반 폴더임)

 

 

 

git 로컬 저장소를 원격저장소와 연결)

# 프로젝트 폴더에서 수행
git remote remove origin # 기존의 origin 삭제, 필요하다면 수행
git remote add origin 원격-저장소-주소
git remote -v # 연결정보 확인

 

ㄴ .git 저장소 파일 안에 연결 되어 있는 내부 저장소가 없다는 뜻

ㄴgit remote add orign + git-hub원격 저장소 주소

 

 

ㄴ  git remote -v입력 후 파일 이름이 두개 뜨면 잘 연결 된 것임

 

 

git 작업 명령어)

git pull origin main # 내 소스코드 최신화, 만약에 충돌이 나면 해결
# 작업
git add . # 커밋을 위한 준비단계, 커밋할 파일들을 장바구니에 담는 단계
git commit -m "메세지" # 장바구니에 담긴 파일을 로컬 저장소(.git 폴더) 에 저장
git push origin main # 로컬 저장소(.git 폴더)의 커밋들을 원격 저장소에 업로드, 만약에 충돌이 나면 해결

 

ㄴ 동시에 여러명과 협업을 하려면 git pull origin main을 해야함 

 

ㄴ 생성된 파일 터미널에 연결 후 code . 해서 새로운 커서 창 열기

 

 

ㄴgit add . / git commit -m "제목" → 지금까지 내가 작업한 작업물 저장 

 

ㄴ git push origin main을 하면 hithub의 로컬저장소에 저장이 됨 

 

ㄴ github 로컬 저장소에 작업한 파일들 저장


# 14단계_VS CODE, tab size, fromat on save, prettier, live sever 세팅

 

- 참고 영상

 

ㄴ 기본 tab 사이즈 4인데 tab 사이즈 2로 변경 

 

ㄴformat : 소스 코드를 깔끔하게 만드는 것 → 첫번째 체크 표시로 설정함(ctrl + s 누를 때 마다 코드가 정리가 됨)

 

ㄴPreferences 선택 → Extensions 선택 → 검색 창에 prettier 입력 → Install 눌러서 다운 

 

 ㄴ F1을 누르고 format을 입력 → Format Document 선택(문서 정리하는 역할) / html, css, js도 처음에 다 설정

 

ㄴPreferences 선택 → Extensions 선택 → 검색 창에 live server 입력 → Install 눌러서 다운 

 

ㄴOpen with Live Server 선택하면 작업하는 창 어떻게 나오고 있나 확인 할 수 있음 / live가 돼서 바꾸면 바로 보임


# 15단계_GITHUB PAGE 활성화 해서 동료 뿐만 아니라 고객도 결과물을 볼 수 있도록 허용

- 참고 영상

 

 

ㄴ 위쪽 중간에 Settings 선택

 

ㄴ 좌측 Pages 선택 후 Branch에서 none을 main으로 변경 후 Save를 누르면 페이지화됨 

ㄴ Actions을 누르면 페이지 만드는 로딩 창이 나오고 다 되면 페이지 생성 완 

=> commit을 하고 push를 하는 순간 마다 자동으로 웹 서버가 만들어짐 

ㄴ 이렇게 나오면 성공 

 

ㄴ Settings 선택 →  Pages 누르면 사이트 url 생성됨 

 


# 16단계_테일윈드 추가, 이미지 추가, 비디오 추가, 공통 header/footer 추가, about.html 페이지 추가

 

- 참고 영상

 

 

1단계: 프로젝트 폴더 생성)

cd  ~

mkdir  js_projects

cd  js_projects

mkdir  site3

cd  site3

 

 

2단계: VSCODE)

code. 

 

3단계: 터미널 열기)

ctrl + ~

 

 

4단계: 테일윈드 설정파일 생성)

: npx tailwindcss init

 

ㄴ 테일윈드 연결

 

ㄴ js에 테일윈드 파일 생성 완

 

 

5단계: 테일윈드 설정파일 커스터마이징)

- tailwind.config.js

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: ["./src/**/*.{html,js}"],
  theme: {
    extend: {
      colors: {
        clifford: "#da373d",
      },
      screens: {
        "3xl": "1600px",
        "4xl": "1920px",
      },
    },
  },
  plugins: [
    function ({ addVariant }) {
      const groupVariantPrefixes = ["p1", "p2", "p3"];

      function escapeClassName(className) {
        return className.replace(/[\[\]\(\)\+\*\#\/\%]/g, '\\$&');
      }
      // group-on 변형 추가 함수
      const addGroupOnVariant = (name = "") => {
        const selector = name ? `group\\/${name}` : "group";
        const variantName = name ? `group-on/${name}` : "group-on";
        addVariant(variantName, ({ modifySelectors }) => {
          modifySelectors(({ className }) => {
            return `.${selector}.on .${escapeClassName(
              variantName
            )}\\:${escapeClassName(className)}`;
          });
        });
      };
      // peer-on 변형 추가 함수
      const addPeerOnVariant = (name = "") => {
        const selector = name ? `peer\\/${name}` : "peer";
        const variantName = name ? `peer-on/${name}` : "peer-on";
        addVariant(variantName, ({ modifySelectors }) => {
          modifySelectors(({ className }) => {
            return `.${selector}.on ~ .${escapeClassName(
              variantName
            )}\\:${escapeClassName(className)}`;
          });
        });
      };
      // 기본 group-on, peer-on 변형 추가
      addGroupOnVariant();
      addPeerOnVariant();
      // 특정 그룹과 피어에 대한 변형 추가
      groupVariantPrefixes.forEach((name) => {
        addGroupOnVariant(name);
        addPeerOnVariant(name);
      });
      // on 클래스에 대한 변형 추가
      addVariant("on", ({ modifySelectors }) => {
        modifySelectors(({ className }) => {
          return `.on.on\\:${escapeClassName(className)}`;
        });
      });
    },
  ],
};

ㄴ 이 코드는 src 폴더 안에 html과 css가 있다고 가정 하에 만들어짐 

 

 

ㄴNew Folder 클릭 해서 src 파일을 생성한 후

 

ㄴ ctrl + 클릭해서 src 폴더로 드래그 / src 안에 드래그 한 폴더가 들어감 

 

ㄴ 미리보기 창 주소가 바뀜 

 

ㄴ src에 input.css를 생성 → 밑에 하단 코드 소스 복붙 

 

 

6단계: src/input.css)

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css");

@tailwind base;
@tailwind components;
@tailwind utilities;

/* 커스텀 CSS(폰트, 기타 등등) */
.box-1 {
  color: blue;
}

html > body {
  font-family: "Pretendard Variable", sans-serif;
}

 

 

 

7단계: src/output.css 자동생성모드 시작)

- npx 명령으로 src/input.css 파일로 부터 src/output.css 파일 생성하도록 지시 

npx tailwindcss -i src/input.css -o src/output.css --watch

 

ㄴ npx tailwindcss -i src/input.css -o src/output.css --watch 을 입력하면 output.css 파일 생성됨

ㄴ 터미널에 빨간색 문구가 뜨면 더 이상 명령어를 못침

ㄴ bash 창을 하나 더 띄어서 명령어 입력하면 됨

 

ㄴindex.html link태그에 input.css 연결