Git/Githubベース


1.Gitの目標


Version/Backup/Collaborate

1.1 Gitの目標1-バージョン管理

  • ジョブが多ければ多いほど、ファイル間の修正事項が一目瞭然になりにくくなります.
  • Gitでは、各変更をバージョンとして作成し、バージョン間の差異を表示できます.
  • 以上のファイルのバージョンを変更しても、グループ化して差異を表示できます.
  • 修正した内容をバージョンのタイトルに簡単に貼り付けて一目で見ることができます.

    1.2 Gitの目標2-バックアップ

  • バックアップは、ローカル・リポジトリに格納されているファイルをリモート・リポジトリに保存します.
  • をバックアップできるリモート・リポジトリにgithub.comというサイトがあります.
  • コンピュータはいつ故障するか分からないので、バックアップは非常に重要な仕事です.
  • 1.3 gitのターゲット3-コラボレーション


  • MyおよびOtherは、GitHubをプッシュおよびプッシュすることによって、同じコンテンツを共有および修正することができる.
  • と共有して修正する過程でコンテンツの衝突が発生すれば、Gitは交通整理の役割を果たすこともできる.
  • これがgitが提供するコラボレーション機能です.
  • 2.Gitタイプ


    世界にはgitプログラムがたくさんあります.
  • GithubDesktop-は簡単で学びやすいが、機能は少ない.上級ユーザーになると憂鬱になるかもしれません.
  • TortoiseGit-Windowブラウザで使用されるプログラムに寄生します.(ウィンドウでのみ使用可能)
  • Git—Gitのプログラムをコマンドで制御します.これに基づいて、他のプログラムが作成されます.
  • 3.Git-CLI-バージョン管理


    3.1優勢

  • を熟知すればGitを簡単に処理できる.
  • 命令の特性によれば、1回の命令で処理する必要があることを完了し、自動化を実現することができる.
  • これは、
  • GUIで制御できないサーバ環境で使用される唯一の方法です.
  • 3.2バージョン管理入門

    $ cd Documents/git/ : 버전관리를 시작할 폴더로 이동
    $ mkdir hello-git-cli : 디렉토리 만들기
    $ cd hello-git-cli : 만든 디렉토리로 이동
    $ git init : 현재 디렉토리의 버전관리 시작
    $ ls -al : .git이 생김
    $ cd .git : 이동

    バージョン3.3の作成


    $ vi hello1.md : 파일 내용 작성
    $ cat hello1.md : 파일 내용을 화면에 출력
    $ git status : git의 상태 확인
    - No commits yet : 아직 버전이 없습니다.
    - Untracked files : 추적되지 않고 있는 파일
    $ git add hello1.md : working tree의 수정사항을 버전으로 만들기위해 staging area에 올린다.
    $ git status
    - Changes to be committed : 버전이 될 파일
    $ git commit -m "Message 1" : 버전을 제출 (staging area에 있는 파일을 reposittory에 제출)
    $ git status
    - nothing to commit, working tree clean : 버전으로 만들게 없다. 버전이 되지 않은 수정사항이 없다.
    $ git log : 버전이 잘 만들어졌는지 확인 (역사를 본다)
    - 버전의 고유한 아이디값, 누가, 언제, 버전의 이름 (나가기 : q)
    $ vi hello1.md : 내용 수정
    $ git status
    - Changes not staged for commit : stage에 있지 않은 수정사항이 workingtree에 있습니다.
    $ git add hello1.md
    $ git status
    - Changes to be committed : stage에 올려진 파일
    $ git commit -m "Message 2" : repositoty에 저장. 버전이 만들어짐.
    $ git log : 확인

    3.4バージョン間の差異比較

    $ vi hello : 내용 수정
    $ git diff : 마지막 버전과 workingtree의 차이점을 보여준다.
    $ git reset --hard : 수정하기전 상태로 돌아감
    $ git log -p : 모든 버전들의 수정내용을 자세하게 보여줌.

    3.5チェックアウトとタイムトラベル

    $ git log : A commit, B commit, C commit (HEAD -> main) 존재
    $ git checkcout  <B commit의 고유번호>
    $ git log : A commit, B commit (HEAD) 
    $ git checkout <A commit의 고유번호>
    $ git log : A commit (HEAD)
    $ git checkout main
    $ git log : A commit, B commit, C commit (HEAD -> main) 

    3.6その他の機能

    $ git add hello1.md : hello1.md파일을 add한다.
    $ git add . : 현재 디렉토리에 있는 모든 파일을 add한다.
    $ git add src : src라는 디렉토리 밑에 있는 모든 파일을 add한다.
    $ git commit -am "4" : add와 commit을 한번에 하는 법 
    (단, Untracked 상태의 파일에는 쓰지 못함)
    $ git config --global core.editor "nano" : 기본 에디터가 nano로 바뀜
    (+) .gitignore : 이안에 버전관리를 하고 싶지 않은 파일을 만들면 된다.
    (+) tag : commit의 고유번호를 대신하여 버전의 이름을 붙여줄 수 있다. 

    バージョン3.7-Git resetの削除

    $ git log : A commit, B commit, C commit (HEAD -> main) 존재
    $ git reset --hard <B commit의 고유번호> 
    $ git log : A commit, B commit (HEAD -> main) 존재
    !! 다른 사람과 공유된 버전은 리셋하면 안된다. 

    バージョン3.8を復元-gitを復元

    $ git log : A commit, B commit, C commit (HEAD -> main) 존재
    $ git revert <B commit의 고유번호> : commit 제목 작성후 엔터
    $ git log : A commit, B commit, C commit, Revert B commit (HEAD -> main) 존재
    $ cat hello1.md : B commit의 내용으로 나옴
    !! revert는 역순으로 진행해야한다. 그렇지 않으면 충돌이 일어남.