[Git]깃허브 배우기

iOSoo·2021년 10월 26일
post-thumbnail

1. 저장소 생성하기

  • Repository name: 저장소 이름

  • Public: 공용 저장소로 생성

  • Private: 비밀(사적인) 저장소로 생성

    저장소 이름을 작성하고 Public / Private 둘중 하나를 선정한 후 Create repository 버튼을 클릭해준다.

    https://github.com/git/git 에 들어가면 아래와 같은 화면이 보이게 된다.

  • 64,820 commits: "64,820번의 버전으로 이루어져 있다." 라는 의미

  • Contributors 1,495: "1495명이 같이 협업을 하고 있다." 라는 의미

  • Watch: 구독한 사람의 수

  • Star: 좋아요를 누른 사람의 수

  • Fork: 복제해간 사람의 수

    이제 이 프로젝트를 이용하고 싶다면 우측 상단의 Code버튼을 누른다.

  • *https://github.com/git/git.git: 해당 프로젝트를 그대로 이용

  • Download ZIP: git을 이용하지 않고 소스코드나 파일을 사용하기 위해 이용

    해당 프로젝트의 버전 변화를 알고 싶다면 64,820 commits 버튼을 클릭한다.

    클릭을 하게되면 아래와 같은 화면이 생성되게 되는데 맨 위의 목록이 가장 최근에 업데이트 된 프로젝트이다.

    이 부분을 들어가면 아래와 같은 화면이 나온다.

  • +(초록색): 이전 버전과 비교했을 때 추가됨

  • -(빨간색): 이전 버전과 비교했을 때 삭제됨

2. 버전 생성하기

- 텍스트 파일 작성

여기서 creating a new file을 선택하면 아래와 같은 화면이 나온다.

예를 들어 Txt파일을 만든다고 가정하고 아래와 같이 텍스트를 작성해보자.

  • Welcome.txt: Welcome이라는 **텍스트 파일을 생성함.

  • Hello Git: 파일의 내용을 Hello Git으로 작성

그리고 아래로 내려본다.

  • Create Welcome.txt부분의 TextField: 파일에 어떤 동작을 추가하였는지 간단하게 작성

  • Add an optional extended description... 부분의 TextField: 파일에 어떤 동작을 추가하였는지 자세하게 작성

작성을 모두 마치고 아래의 Commit new file을 클릭하면 Commit(제출)이 완료된다.

이제 다른 사람에게 이 텍스트를 보내고 싶다면 Commit한 파일의 링크만 보내주면 된다.

- 파일 수정

Commit한 파일에 들어가면 우측 하단에 연필 모양의 "Edit this file"을 클릭하면 수정할 수 있게 된다.


파일을 생성하는 것과 같이 파일 내용을 수정후 간단한 요약 일지를 작성하고 Commit changes를 클릭하면 수정된 파일을 확인할 수 있다.

좌측 상단에 있는 Code를 누르면 우측 중간에 2 commits으로 변경된 모습을 확인할 수 있다.

이 버튼을 클릭하면 우리가 언제 커밋하고 어떤 코드를 추가 또는 삭제했는지 알 수 있다.

또한 해당 커밋에 들어가면 해당 커밋 자체에 댓글을 달 수도 있고 커밋한 코드중 일부에만 댓글을 달 수도 있다.

이제 맥 자체의 텍스트 편집기로 텍스트 파일을 생성후 GitHub에 업로드를 해보자.
아래의 파일 2개를 만들어준다.

이번 버전에서는 파일1, 파일2의 텍스트를 수정했다는 것을 보여주기 위해서 두개의 파일을 만들었다.

깃허브로 돌아가서 좌측 상단 Add file - Upload files를 선택해준다.

그 후 파일을 선택해주게 되면 업로드가 시작되는데 이 말의 뜻은 "두개의 파일을 내가 수정했다."는 의미이다.

그 후 Commit changes를 클릭하면 아래와 같이 텍스트 파일이 추가가 된다.

이제 다시 파일2를 수정하고 파일3를 생성하고 다시 파일1, 2, 3업로드를 해준다.
(Version4를 작성했다는 의미는 이번 프로젝트에서는 파일2와 파일3에 코드 수정을 했다는 의미이다.)

이제 4commit을 클릭해서 최근에 commit된 부분에 들어가본다.

사진을 보면 우리는 분명히 파일1, 2, 3을 업로드했는데 정작 커밋된 것은 파일2, 3이다. 파일1이 업로드 되지 않은 이유는 이전 버전과 봤을 때 바뀐 것이 없기 때문이다.

이렇게 개발자들은 버전들을 관리하는데 그 이유는

프로젝트에서 어떤 일이 일어났는지, 누가 언제 수정했는지를 알 수 있기 때문에 버전 관리가 중요하다.

3. Git 구경하기

Git 설치

https://lsjsj92.tistory.com/596

컴퓨터와 깃허브 연결시키기

Code - SSH의 주소가 실제 해당 저장소의 주소이다. 이 주소를 카피를 한다.

터미널을 열어서 아래의 코드를 작성해준다.

git clone (SSH주소) .

해석: 안녕 git? 해당 주소의 저장소를 현재 디렉토리로 저장하고싶어.

ERROR: Repository not found.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

이와 같은 오류가 뜨면 폴더를 만들어 . 대신 해당 폴더의 주소를 입력해준다.

위의 명령어를 입력하면 아래와 같은 코드가 자동 작성된다.

해당 폴더로 가게되면 파일이 복제된 것을 확인할 수 있다.

 - git diff : 코드는 수정된 파일을 찾아주는 명령어
 
 - git add (파일명) : 해당 파일을 커밋할 준비
 
 - git commit -m (새로운 버전이름) : 깃에 새로운 버전의 이름으로 커밋

 - git log : git의 히스토리
 
 - git push : 깃에게 로컬 저장소의 버전을 원격 저장소의 버전으로 밀어넣어
 
 - git status : 어늘 파일을 수정했는지 알려줌
 
 

4. 멤버

팀원 초대장 발송하기

해당 프로젝트 - Settings = Manage access - Add people

5. 이슈

이슈는 해당 프로젝트 Code 옆 카테고리에 있다.

이슈는 해당 문제점을 해결하기 위한 게시판이라고 생각하면 된다.
현재 우리의 프로젝트는 이슈가 없기 때문에 페이스북 깃허브를 참고해보자.
https://github.com/facebook/react

이슈 구성을 보면 가장 좌측에는 이슈에 대한 내용이 있고 그 다음 담당자, 댓글이 있다.

이제 우리 프로젝트에 이슈를 발행해보자.

위의 화면에서 우측 New issue를 클릭하고 이슈를 발행해보자.

  • Title: 이슈에 대한 요약 제목 (필수)

  • Leave a comment: 이슈의 내용 (필수)

  • Assignees: 담당자 설정 (선택)

  • Labels: 이슈에 대한 태그? 특성? (선택)

필수로된 부분을 모두 작성하고 Submit new issue를 클릭해주면 아래와 같이 이슈가 작성된다.

이제 이 이슈가 생기면 누군가 해결을 하고 이슈를 해결했다는 사실을 알려야한다.
해결한 이슈를 클릭하고 Close issue를 클릭한다.

그러면 아래와 같이 Closed가 된다.

이 글을 마치며...

우리는 지금까지 상단의 카테고리중 Code, Issues에 대해서 알아보았다. 이제 나머지를 간단하게 설명해보겠다.

  • Pull requests: 프로젝트를 Fork로 복제하여 내가 코드를 수정했는데 수정한 코드가 괜찮은 거 같아서 원본 프로젝트에 적용했으면 좋을거 같다는 생각이 들면 제작자에게 Pull requests를 하여 내 코드를 가져가라는 말이다.

  • Actions: 일종의 예제, 누군가가 내 저장소로 Push를 했다면 그 사람이 Push한 내용을 다른 사람에게 이메일로 알려주어라 라는 해동을 만드는 ?? (아직까지 나도 잘 모르겠다.)

  • Projects: TODOLIST 형식?

  • Wiki: 만들고 있는 소프트웨어의 사용설명서와 같은 지식과 관련된 내용을 정리하는 곳

  • Security: 보안 관련

  • Insights: 해당 프로젝트에 대한 지표를 파악할 수 있는 곳

  • Settings:

이 글은 생활코딩의 GitHub 사용법강의를 듣고 현시점에서의 프로젝트로 다시 설명하는 글입니다.

profile
애플을 좋아하는 비전공생

0개의 댓글