오늘은, 협업에서 빠질 수 없는 협업의 꽃. 깃과 깃허브에 대해 공부했다.
깃은 터미널 창에서 명령어로 실행하면 되기 때문에 그리 어렵지 않았지만,
깃허브는 깃과 연동하는 것부터 오류로 인해 key를 발급 받는 것까지 조금 어려웠다.
그리고 깃허브가 온통 영어라 영어 공부를 다짐할 수 있게 해줬다...
git은 세 곳을 관리한다.
1. 작업 디렉토리
2. 스테이지
3. 저장소
작업 디렉토리는 내가 작업하는 곳이며 버전 관리의 대상이 위치하는 곳이다.
스테이지는 작업 디렉토리의 파일을 저장소에 올리기 전에 위치하게 되는 공간인데,
올리고 싶은 파일들을 한 곳에 잘 모아두고, 저장소에 올리기 직전에 다시 한 번 추가 제거 변경하는 공간이다.
저장소는 버전이 만들어지고 관리되는 공간이다. 이 저장소는 로컬 저장소이며, github의 저장소와는 다르다.
작업 디렉토리 -> 스테이지 -> 저장소 순서로 이루어져 있다.
로컬 저장소를 만들고 싶다면, 만들고 싶은 폴더의 위치로 이동한 후 git init 명령어를 치면 숨김 폴더로 .git이 만들어 진다.
터미널로 이동한 저장소 폴더에서 touch (파일이름) 명령어를 치면 새로운 파일이 만들어진다.
ex) touch a.txt
저 a.txt라는 파일을 저장소에 올리고 싶다면 스테이지에 올려줘야한다.
git add a.txt 라고 치면 스테이지에 올라가며 스테이지를 보기 위한 명령어는 git status다.
내 저장소에는 이미 a.txt가 있어서 zz.txt를 스테이지로 보냈다.
스테이지에 있는 파일을 저장소에 보내기 위해선 커밋 메세지를 작성해야한다.
커밋이란, 의미 있는 변경 작업들을 저장소에 기록하는 동작이다. 즉, 변경 사항을 확정한다는 의미.
git commit -m "메세지작성"
작성한 후 git log를 치면 방금 커밋한 정보가 나타난다.
그리고 이 로컬 저장소에 있는 파일을 원격 저장소인 github로 올리기 위해선 회원가입부터, sshkey 등등이 필요하다.
깃허브에 파일을 올리는 명령어는 세 줄이다.
git remote add origin <깃허브 저장소 주소>
git branch -M main
git push -u origin main
깃허브 저장소 주소는 깃허브에 로그인 후 저장소를 만들어야 사용할 수 있다.
짠! 올라갔다.
깃허브를 사용하면 하나의 저장소를 두기 때문에 팀원들과 협업 하기가 훨씬 수월해진다.
팀원분이 만들어준 메인 페이지를 살짝 다듬었다.
function datemod() {
let a = document.querySelector('body');
if (this.id == 'dateX') {
a.style.backgroundColor = '';
a.style.color = 'black';
this.id = 'date';
} else {
a.style.backgroundColor = 'black';
a.style.color = 'white';
this.id = 'dateX';
}
}
주간모드 야간모드 버튼을 만들었으며,
내 개인 페이지에 넣은 날씨와 위치정보도 넣어줬다.
개인 페이지에 너무 기본적인 것만 들어가있고, 많이 허전해서 보완을 했다.
<audio class="audio" onloadstart="volume=0.02" autoplay controls loop="loop" src="/static/City+Key.mp3" type="audio/mp3">
상단에 오디오를 넣어서 페이지에 접속하면 자동으로 음악이 흘러나오도록 했다.
function reload() {
$("#comment-list").load(window.location.href + ' #comment-list');
$("#txt").load(window.location.href + ' #txt');
}
근데, 방명록을 작성하면 페이지가 새로고침 돼서 노래가 끊겼다가 다시 처음부터 나온다.
노래는 끊기지 않고 계속 나오게 하고 싶어서 부분 새로고침을 넣었다.
방명록의 닉네임 부분은 새로고침 되지 않게 해서 적어 놓은 닉네임이 계속 보이게 했으며,
방명록 작성 부분과 방명록이 보여지는 부분만 새로고침 되게 했다.
9시가 끝나고 팀원들이 점점 사라져갈때, 다른 팀의 팀원들과 얘기를 나눌 수 있는 기회가 있었다.
서로가 한 과제를 보기도 하고 어떤 기능을 사용했는지 얘기도 나눴으며, 미래(?)에 대한 얘기도 잠깐 나눴다.
코드를 작성하다 보면 말 없이 집중해서 하는 경우가 많았는데, 다른 팀원분들과 소통하며 얘기하니 심신의 환기가 되는 기분이었다.