7월 8일 금요일
Git으로 commit, push 하는 방법과 오토레이아웃에 대해 배웠다.
Auto Layout은 주말동안 연습을 많이 해보았지만 아직 constraint를 완벽하게 설정하는 수준이 아니기 때문에 til에 작성하기 어려워 git에 대해 조금 작성해보겠다.
Git은 버전 관리 시스템(Version Control System)으로 이전에는 CVS(Concurrent version System), SVN(Subversion)을 거쳐 현재 Git을 사용하고 있다. 이전에 있던 단점을 계속 보완하면서 발전했다고 보면된다.
자 그러면 Git 이라는 버전 관리 시스템은 우리가 파일을 새로 갱신할 때마다 파일의 이름을 갱신하는 관습(_최종, _최종1, _최종2, _진짜마지막최종, _찐으로마지막최종... ) 이런 식으로 파일이 변할 때마다 이름을 바꾸지 않고 파일의 버전(새로 기능이나 컨텐츠가 추가 됨)을 관리하는 시스템으로 생각하면 된다. 파일 내용의 변경사항은 컴퓨터가 관리한다.
Git의 기능을 나열해보자면 먼저 BackUp - 코드를 백업하여 만약에 컴퓨터에 있던 코드가 날라가는 불상사를 대비, Recovery - 만든 코드를 변경하기 이전의 상태로 되돌리는 기능(롤백) , Collaboration - 다른 사람들과 협업할 수 있는 기능 이렇게 나열할 수 있다.
파일의 Version은 의미있는 변화를 의미한다. 즉 어떤 작업이 완결된 상태 중간에 코드를 치다가 친구들 만나러 가서 멈춘 상태는 버전이라고 치지 않는다. 완결을 해야한다.
xcode에서 github의 아이디를 연동해서 repository를 생성하고 커밋과 푸쉬를 바로 진행할 수 있다.
맨 처음에 프로젝트를 생성하면 아래서 두번째 New Git Repositories만 있을 것이다.
프로젝트를 수정하거나 추가하면 Navigator부분에 M, A를 볼 수 있다. Modify 와 Add 이다.
GitHub은 리모트 저장소, Git 은 로컬 저장소 및 버전 관리(컴퓨터)
Git - 리모트 저장소
원격 저장소라 하더라도 로컬 시스템에 위치할 수도 있다. “remote” 저장소라고 이름이 붙어있어도 이 원격 저장소가 사실 같은 로컬 시스템에 존재할 수도 있다. 여기서 “remote” 라는 이름은
git-scm.com
Commit이 된 결과가 저장되는 곳은 Repository 이고, Stage는 commit 대기를 하고 있는 파일들이 들어가는 곳이다.
파일의 상태
working directory : 커밋도 안된 상태
stageing area : commit을 하기 전 조율하는 상태
local repository : 커밋을 하고나면 local에 들어가게된 상태
remote repository : push하고 나서 깃헙에 들어가있는 상태
월요일에 작성하다보니 내용이 많이 부실하다... 그렇지만 주말동안 펑펑 논 것은 아니고 정말 프로젝트 수정하면서 과제를 하다가 이틀을 날렸다 ㅠ 오토레이아웃에 대해 뭔가 감을 잡은 거 같을 때마다 에러가 뜨고 좌절을 계속 반복하면서 주말을 보낸 것 같다. 수요일에 오프라인으로 내가 설정하는 과정에서 놓치고 있는 점을 찾아서 깨닳음을 블로그에 작성해보도록 하겠다... 화이팅 : )
reference
- https://www.youtube.com/watch?v=hFJZwOfme6w&list=PLuHgQVnccGMA8iwZwrGyNXCGy2LAAsTXk
생활 코딩님의 지옥에서온 git강의이다. 정말 깔끔하게 잘 가르치시니까 참고!