지옥에서 온 Git

git이 관리할 대상으로 파일 등록

수업소개

git은 기본적으로 새로운 파일을 관리하지 않습니다. 파일을 관리하기 위해서는 관리 대상으로 등록을 해야 합니다. 여기서는 등록하는 방법을 알아봅니다. 

파일을 생성합니다. 

vim f1.txt

git이 파일을 추적하도록 명령합니다. 

git add f1.txt

프로젝트 폴더의 상태를 확인합니다. 

git status

 

댓글

댓글 본문
  1. 믹믹이
    22.02.01 완료
  2. purpura
    완료했습니다. 감사합니다
  3. 우인준
    저는 $ git add f1.txt 명령어를 넣었을 때,
    `warning: CRLF will be replaced by LF in some/file.file.`
    라는 에러가 뜨더라구요.

    아래 링크 내용보고 해결했습니다. 참고하세용~
    https://blog.jaeyoon.io......tml
  4. 허공
    감사합니다!
  5. 이민철
    완료!
  6. 이수빈
    완료했습니다!
  7. cat f1.txt
  8. YesterdayKite
    완료
  9. 감사합니다
    실습에서 사용한 명령어 (윈도우)
    $ vim f1.txt

    esc+shift+;+wq

    $ ls -al

    $ cat f1.txt

    $ git status

    $ git add f1.txt

    $ git status
  10. supernet
    완료했습니다.
  11. nlds
    여러 강의들에서 사용하는거 따라하면서 대충 감만 잡고, 필요할 때 구글링하면서 썼었는데 진작 들을 걸 그랬네요. 차분히 정리되는 느낌입니다. 좋은 강의 감사합니다! 후닥 완강해야겠어요.
  12. Jonghwa Hong Harry
    완료
  13. Jihoon Park
    아주 심플해서 좋아요!
  14. 잘 보고 있어요 :)
  15. 빽토리얼
    vim '파일이름' : 파일 편집
    vim 안에 들어간 상태에서 i 버튼 누르면 편집 가능, esc 누르면 편집 종료
    esc 누른 상태에서 :wq누르면 저장하고 나가기

    cat '파일이름' : 파일의 상태 확인 가능

    git status : git 의 현 상황 알려줌
    git은 버전관리를 하기 위해서 등록을 해줘야하므로
    git add 파일이름 형태로 추가한다.
  16. 사겅이
    vim f1.txt git add f1.txt git status
  17. 엔터를딱치면요롷게
    깃으로도 코딩 파일 말고 다른 것도 관리 가능한가요 ?
    이미지퍼일이나, 엑셀, 워드문서 같은것도 수정한 뒤에 add 와 commit이 가능 한지 궁금합니다
  18. 댕댕이
    10/15 감사합니다.
  19. jenny
    감사합니다.
  20. PassionOfStudy
    add
    대상 파일을 git에게 추적하도록 명령합니다.
    commit되기 전 stage에 등록합니다.

    status
    현재 상태를 알고 싶을 때 사용합니다.
  21. moon
    감사합니다.
  22. 코딩입문
    감사합니다.
  23. ohaeyoon@gmail.com
    감사합니다.
  24. jeon yoongi
    git status 를 쳤을때
    initial commit 이 안뜨고
    No commits yet 이 뜨는것도 괜찮은 건가요??

    git add f1.txt 를 했을 때
    이런 warning이 떴었습니다.

    warning: LF will be replaced by CRLF in f1.txt.
    The file will have its original line endings in your working directory.
  25. Deuklyoung Ko
    감사합니다.
  26. 강의 목소리가 너무 좋습니다.
  27. 동자
    2018-02-07 수
    오랜만에 공부를 시작했다.
    git에 대하여 생활코딩에서 강좌를 듣는다.
    오늘 들은 수업의 내용은 아래와 같다.

    console 명령어

    ls -al : 현재 디렉토리의 파일 리스트 출력 (권한까지 출력됨)
    mkdir dirName : 'dirName'이라는 디렉토리를 생성
    git init : 현재 디렉토리에서 git으로 버전관리를 시작함 (.git 파일이 생성됨)
    vim fileName.txt : 'fileName.txt' 파일의 생성과 동시에 vim 에디터로 편집
    cat fileName.txt : 'fileName.txt' 파일의 내용을 콘솔에 출력
    git status : 현재 git으로 관리되는 디렉토리의 버전관리 현황 출력
    git add fileName.txt : 'fileName.txt' 파일을 git 버전관리 목록에 추가

    vim 명령어
    i : insert mode
    h,j,k,l : 방향키
    o : 개행 후 insert mode 진입
    shift + o : 이전 행에서 개행 후 insert mode 진입
    shift + h : 문서의 처음으로 커서 이동
    shift + l : 문서의 마지막 라인의 처음으로 커서 이동

    오랜만에 git과 vim을 동시에 만져보니
    어색한 부분이 많고 특히 vim 명령어를
    많이 잊어먹은게 그간 너무 공부를 안했구나 싶다.
    내일도 열심히 하자!!

    토요일에는 약속잡지 않고, 카페에서 공부하기로 다짐했는데
    꼭 지킬 수 있는 내가 되길 바란다.

    다음 수강할 강의 링크 : 지옥에서 온 Git - 버전 만들기(commit)
    https://opentutorials.org......202
  28. 제로스
    잘봤습니다 ~~
    Sourcetree. tortoiseGit, GitHub Desktop 등등이 모두 GUI Client 군요 ~~
  29. 오빠는다르다
    감사합니다~!!!
  30. 함성재
    감사합니다.
  31. 알파고
    감사합니다.
  32. 나경원
    많은 분들께서 댓글에 정리를 해주시니 감사할 따름입니다:)
  33. 김세창
    git bash에서 파일을 생성&편집할때에는
    vim 파일명
    이 상태에서 i를 누르면 입력상태가 됨
    입력이 끝나면 esc , 다시 입력은 r
    다 한 후에 저장시에는 :(콜론)과 w
    명령종료는 q
    그러므로 :wq 입력하면 됨
    파일의 내용을 볼때에는 vim을 사용해도 되지만,
    cat 파일명 으로 사용해도 됨
    git status 는 내가 파일을 관리할 껀지 안할껀지 확인 하는 용도이고
    git add 파일명은 관리하는 파일을 추가한다는 의미이다.
  34. 김수현
    파일을 생성해야 하는데 편집기로 vim사용할 것임
    vim이라는 에디터를 사용할 것임(모든 곳(리눅스,윈도우, 맥)에 설치되어 있는 에디터)
    단점 : 사용하기 까다롭다

    ( vim에디터에 대해 검색해 보니...
    https://www.youtube.com......KjA <--동영상 강의
    http://book.naver.com......vim <-- 책들
    그런데 vim쓰지말고 atom을 쓰라고 나오네요.
    https://medium.com......ca4 )
    아톰강의 https://opentutorials.org......579
    (아톰은 github에서 만들었다고 합니다. https://blog.outsider.ne.kr/1035)
    (이곳의 수업 진행시는 vim으로 하는 것을 권합니다. 그외 편집기는 나중에 알아보시길...권합니다.)

    f1.txt라는 파일을 만든다, 숫자 1을 입력한다 ==> vim f1.txt > i를 입력 > 입력모드로 바뀜 > 숫자1입력> Esc키 > :wq
    ls -al 파일 생성 확인
    f1.txt 내용을 보려면 > vim f1.txt해도 되지만 cat f1.txt해도 됨
    새로 생성된 파일을 git으로 관리해야 함. 그전에
    git status
    언트랙트 파일이라고나옴 (추적되고 있지 않다는 뜻)
    git add f1.txt < 이제부터 파일을 관리해 줘라
    왜 add를 사용하냐 하면, 임시로 저장되는 파일+추적해야 하는 파일이 디렉토리에 생성되기 때문에
    어느 파일을 추적해야 할지 알려줘야함

    추가 설명
    [ add와 커밋 ]
    커밋(commit)은 최종적으로 버젼을 저장하는 것입니다.
    commit은 다음시간에 강의하는 내용입니다.
    https://opentutorials.org......202

    그러면 왜 처음 부터 커밋하면되지 번거롭게 중간에 add라는 과정을 거쳐서 커밋을 하는 것일까?
    잘 생각해보면 알 수 있을 것 같습니다.
    커밋은 의미있는 지점을 저장하는 것입니다. 그런데...
    의미있는 지점을 저장할 때 여러개의 파일이 변경되어 있을 수 있는데
    모두가 다 의미 있는 지점이라면 커밋하면 되지만...
    그중에 몇개의 파일은 의미가 없는 지점에 있을 수 있을 것이고...
    그 파일들은 커밋에서 제외시켜야 할 수도 있을 것입니다.
    즉, 커밋하여 계속 관리하여야 할 파일중에서도
    커밋하려는 때에, 커밋이 지금 필요한 파일과 지금은 커밋에서 제외할 파일을 구분할 필요가 있게 됩니다.
    이러한 관계로 지금 커밋할 파일을 add하고 다음 명령인 커밋을 통하여 add한 파일에 대해서만 커밋을 하게 하는 기능이 필요한 것입니다. 그래서 커밋과정을 2단계(add > commit)로 분리시킨 것입니다.
    다음 다음시간에 강의가 나오네요
    https://opentutorials.org......203
    이점에 대해 틀린 점이 있다면 댓글 부탁드립니다.
  35. crable
    감사합니다
  36. ming
    $ git
    -> git이 잘 설치되었는지 알아보는 명령어
    $ pwd
    -> 현재 나의 위치를 알 수 있는 명령어
    $ cd Documents/
    -> 나의 위치에서 C드라이브 Documents로 이동
    $ mkdir git
    -> 해당 위치에 git이라는 폴더를 만들겠다
    $ ls -al
    -> 해당 위치의 파일들 목록을 보여주는 명령어
    C:\Users\Min A\Desktop\[01] 업무\[20] 수은불망\[22] 프로젝트
    $ git init
    -> git 저장소 초기화 즉 생성됨
    지정된 폴더를 버전관리하겠다고 지정해주는 명렁어
    $ vim f1.txt
    ->vim 이라는 프로그램으로 f1.txt 파일 생성하겟다

    알파벳 I를 누르면 Insert 모드로 변함
    ESC 누르면 입력 끝남
    알파벳 R 누르면 다시 입력모드

    작성하고 :wq
    -> 프로그램에서 빠져나감
    $ cat f1.txt
    -> f1.txt 파일을 읽는 명령어

    $ git status
    -> 현재 git이 관리하고 있는 것에 대한 상태
    $ git add f1.txt
    -> f1.txt를 인식하고 버전관리를 시작함
  37. 폭스킴
    cat f1.txt
  38. 1234
    재밋당
  39. 박동연
    잘보고 갑니다
  40. mijin
    처음에
    warning: LF will be replaced by CRLF in f1.txt.
    The file will have its original line endings in your working directory.
    경고 창이 떴습니다. 밑에 engladgut님 댓글을 보기전 f1.txt 파일을 열고 줄바꿈을 지우고 다시 저장했습니다.
    그리고 git status 명령어를 입력하니까
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)

    modified: f1.txt

    라는 문구도 추가로 출력되었습니다.
    이 문구는 제가 파일을 수정했기 때문에 발생한 문구인가요?
  41. Soyoung Park
    미흡하지만 조금이나마 도움이 될까 해서 남겨봅니다.

    [vim f1.txt] vim으로 f1.txt 파일 만들기
    [i] vim 입력모드
    [esc 버튼] 입력모드 빠져나오기
    [:wq] 입력한 내용 저장 및 종료
    [cat f1.txt] f1.txt 파일 내용 보기

    [git status] 프로젝트 파일 및 폴더 상태 확인
    처음 실행했을 땐 Untracked files 라고 뜸

    [git add f1.txt] f1.txt 파일 추적 시작(추가)
    [git status] 추적 시작 후 상태 확인 하면 파일명 앞에 new file 이라고 뜸
  42. 겜맨들맨
    잼잇쪙
  43. egoing
    같습니다~ 먼가 다른 문제가 아닐까요?
    대화보기
    • JohnHan
      git shell을 사용하고 있는데
      ls -al 이 안되네요...
      (빨간색으로 "매개변수 이름 'al'과 일치하는 "것이 없다고 나와요..)
      (그냥 ls를 입력하면 f1.txt 만 나와요)

      git shell은 명령어를 다르게 입력해야 하는 건가요?
    • 조언자
      콜론은 : << 이걸 말합니다.
      ; << 이게 아니라.
      : << 이거 입니다. shift 눌러야 합니다.
    • engladgut
      네 맞습니다. 개발자용 편집기들은 cr만 있던가 lf만 있던가... 아님 crlf 다 있던가... 어지간히 알아서 잘 처리해주는 편인데 윈도 메모장 같은 애들은 그런건 처리해주지 않죠.
      대화보기
      • engladgut
        항상 좋은 강의 잘 듣고 있습니다. 제 답변이 맘에 드셨다니 보람있네영. 껄껄
        대화보기
        • 폭스킴
          와~ 엄청난 답변 감사합니다. ^^ 메모장으로 열어보니까 글자 뒤에 특수기호가 있던데 이게 그건가 보군요~!
          대화보기
          • egoing
            완벽한 설명이네요! 저도 두루뭉실하게 알았는데 정리가 착 되었어요~
            대화보기
            • engladgut
              사람의 눈에는 안 보이지만 텍스트 파일을 저장할 때 줄바꿈도 눈에 보이는 문자와 마찬가지로 문자로 저장이 됩니다. 일종의 특수 문자인거죠. 근데 os에 따라 줄바꿈 문자가 좀 다릅니다.

              줄바꿈에 사용되는 문자가 몇개 있는데 cr 이라고 하면 캐리지 리턴의 약자로 줄이 바뀌는걸 뜻하고
              lf라고 하면 라인 피드라고 해서 커서를 새로운 줄의 맨 앞으로 옮기는 걸 뜻합니다.

              새줄 문자에 대한 자세한 내용은 아래 링크 함 읽어보세요.

              https://ko.wikipedia.org......%90

              위 링크에도 설명이 나옵니다만, 60년대에는 메모리가 엄청 비싸고 느렸기 때문에 멀틱스와 유닉스는 lf만 사용하기 시작합니다. Mac osx과 Linux같은 유닉스 계열의 os는 그걸 그대로 이어받았고요.

              타자기 같은 기계들이 현역으로 사용될 때 나온 표준이라 cf+lf로 표현이 됐던건데 (참고로 타자기나 아주아주 오래된 인쇄기 따위의 기계들은 이렇게 작동합니다. 줄바꿈 따로, 종이 맨 앞으로 옮기는거 따로) 사실 모니터 같은데에 표시하기엔 저렇게 두개의 문자로 표시할 필요가 없거든요.

              근데 윈도우에서는 crlf를 씁니다. 그래서 맥쓰는 사람과 윈도쓰는 사람이 함께 일하면 줄 바꿈 문자에 문제가 생기게 됩니다. 아무것도 아닌 것 같지만 상당히 짜증나는 문제거든요.

              그래서 깃은 커밋할 때 자동으로 crlf를 lf로 변환해주고 반대로 채크아웃 할 때 lf를 crlf로 변환해 주는 기능이 내장되어 있습니다. 설정으로 이 기능을 켤 수 있고, 윈도에서 이 값을 true로 설정하면 Checkout할 때 lf 문자가 crlf 문자로 변환됩니다.

              깃이 자동으로 이런 처리를 해주면서 사용자에게는 경고 메시지를 보여주는거죠. 자기 맘대로 사용자의 파일을 손을 대는 거니까 말이죠.
              대화보기
              버전 관리
              egoing
              현재 버전
              선택 버전
              graphittie 자세히 보기