第18部:Git、GitHubとバージョン管理(復習)


家の私のノートパソコンは三星で、窓です.
Linuxじゃない
ターミナルを利用したいのですがどうすればいいですか?
発動する
次の2つのリンクに従って、テキストだけを整理しました.
https://protocol.knu.ac.kr/tech/ISL-TR-20-03-WSL.pdf
https://velog.io/@njh7799/Windows-10-%EC%97%90%EC%84%9C-%ED%84%B0%EB%AF%B8%EB%84%90-%EA%BE%B8%EB%AF%B8%EA%B8%B0

1. WSL


Windows Subsystem for Linux(WSL)を使用する必要があります.
マイクロソフトがLinuxをサポートする方法はWindows Subsystem for Linuxです.
スタート>Windows機能のオン/オフ
「Linux用Windowsサブシステム」をチェックしてアクティブにし、再起動します.
開始>Microsoft store>次の2つのアプリケーションのインストール

1-1. ubuntu


実行後、usernameとpasswordを入力します.
「sudo-i」とpasswordを入力してroot権限に切り替えてパッケージを更新
Root権限に「apt-get update」と入力して更新
「apt-get-y install gccg++」を入力してgcc/g++インストール
「apt-get-y install vim」を入力してVimインストールを行います(インストールされている可能性があります)
suユーザー名を入力してroot権限を終了します(exit)
Terminalに「vimファイル名」を入力してファイルを作成
「i」編集モードを押して、内容を入力してescを押して、「:wq」を入力して保存して終了します.
コンパイル:gcc-o<実行可能ファイル名><ソースファイル名>
apt-getはDebianシリーズLinuxで使用されるパッケージ管理コマンドツールで、Ubuntuを含む

1-2. windows terminal

  • デフォルト端末設定の変更
    >を設定します.jsonファイルメモ帳に接続
    defaultProfileをubuntu guid
  • に変換
  • 羽毛取付https://git-scm.com/download/win
    git-バージョン
  • Oh My Zsh取付(端末装飾)
    3-1. zsh取付
    sudo apt update
    sudo apt install zsh -y
    3-2. oh myzshインストール
    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh )"
  • Ohmyzsh設定
    vi ~/.zshrc
    Esc, i
    ZSH_THEME="agnoster"
    Esc, :wq, Enter
  • D 2エンコードフォントのインストール
    https://github.com/naver/d2codingfont
    5-1. フォントの適用
    端末>設定>json手帳として開く
    {
    "fontFace": "D2Coding",
    "fontSize": 12,
    }
  • デスクトップNameを削除
    vi/.zshrc
    prompt_context() {
    if [[ "USER"!="USER"!= "USER"!="DEFAULT_USER"|| -n "$SSH_CLIENT"]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
    fi
    }
  • Gitエディタの変更点
    git config --global core.editor "vi"
  • 注意事項
    Git clone、git initにはsudoが必要です.

    2.端末のインストール


    MacBookはiTerm 2
    ウィンドウにはcmder(ネクタイ)が含まれています

    3.練習


    1.優先パラメータ


    バドミントンの優先パラメータファイル:.gitconfig
    git config--list優先パラメータ
    git config --global user.email "[email protected]"
    git config --global user.name "Your Name"

    2.ローカル



    ダンプ(変更を無視またはフォロー)フェーズに追加します.
    > cd Desktop/	바탕화면으로 이동
    > mkdir Story	
    > cd Story
    > touch chapter1.txt
    > vim chapter1.txt	내용 수정
    > git init
      Initialized empty Git repository in /mnt/c/Users/msi/Desktop/Story/.git/
    > git status
    On branch master
    
    No commits yet
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            chapter1.txt
    
    nothing added to commit but untracked files present (use "git add" to track)
    > git add chapter1.txt 스테이징
    > git status
    On branch master
    
    No commits yet
    
    Changes to be committed:
      (use "git rm --cached <file>..." to unstage)
            new file:   chapter1.txt
    > git commit -m "Complete chapter1"  현재 시제로 작성
    > touch chapter2.txt
    > touch chapter3.txt
    > git add .	
    > git status
    On branch master
    Changes to be committed:
      (use "git restore --staged <file>..." to unstage)
            new file:   chapter2.txt
            new file:   chapter3.txt
    > git commit -m "complete chapter 2 and 3" 
    > git log
    > vim chapter3.txt  내용 변경
    > git diff chapter3.txt 커밋 이후 변경한 내용 확인 가능
    > git checkout chapter3.txt 변경했던 내용이 커밋한 내용으로 돌아감

    3.ダウンジャケットとの連用

    > git remote add origin https://github.com/msi753/Story.git	origin은 remote의 이름(변경가능하지만 잘 안함)
    > git branch -M main	브랜치의 이름을 main으로 하고
    > git push -u origin main	리모트(origin)에서 브랜치(main)으로 push한다.

    4. GIT IGNORE


    DS STOREファイル:デスクトップサービスストレージ
    アップル社が定義したファイルフォーマットは、デスクトップサービスストレージの略です.
    アップルのmacosXシステムがフォルダにアクセスしたときに生成したフォルダメタデータを格納するファイル.
    窓の親指.dbファイルと似ています.
    フォルダ内でファイルを並べ替えて生成します.
    プロジェクトを作成します.
    端末からプロジェクトフォルダに入ります.
    > touch .gitignore
    > open .gitignore
    https://github.com/github/gitignore
    swift.gitignore
    # Project-wide 추가
    .DS_Store
    
    # Xcode
    #
    # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
    
    ## User settings
    xcuserdata/
    
    ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
    *.xcscmblueprint
    *.xccheckout
    
    ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
    build/
    DerivedData/
    *.moved-aside
    *.pbxuser
    !default.pbxuser
    *.mode1v3
    !default.mode1v3
    *.mode2v3
    !default.mode2v3
    *.perspectivev3
    !default.perspectivev3
    
    ## Obj-C/Swift specific
    *.hmap
    
    ## App packaging
    *.ipa
    *.dSYM.zip
    *.dSYM
    
    ## Playgrounds
    timeline.xctimeline
    playground.xcworkspace
    
    # Swift Package Manager
    #
    # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
    # Packages/
    # Package.pins
    # Package.resolved
    # *.xcodeproj
    #
    # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
    # hence it is not needed unless you have added a package configuration file to your project
    # .swiftpm
    
    .build/
    
    # CocoaPods
    #
    # We recommend against adding the Pods directory to your .gitignore. However
    # you should judge for yourself, the pros and cons are mentioned at:
    # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
    #
    # Pods/
    #
    # Add this line if you want to avoid checking in source code from the Xcode workspace
    # *.xcworkspace
    
    # Carthage
    #
    # Add this line if you want to avoid checking in source code from Carthage dependencies.
    # Carthage/Checkouts
    
    Carthage/Build/
    
    # Accio dependency management
    Dependencies/
    .accio/
    
    # fastlane
    #
    # It is recommended to not store the screenshots in the git repo.
    # Instead, use fastlane to re-generate the screenshots whenever they are needed.
    # For more information about the recommended setup visit:
    # https://docs.fastlane.tools/best-practices/source-control/#source-control
    
    fastlane/report.xml
    fastlane/Preview.html
    fastlane/screenshots/**/*.png
    fastlane/test_output
    
    # Code Injection
    #
    # After new code Injection tools there's a generated folder /iOSInjectionProject
    # https://github.com/johnno1962/injectionforxcode
    
    iOSInjectionProject/
    > cd Desktop
    > mkdir Project
    > cd Project
    > touch file1.txt
    > touch file2.txt
    > touch secret.txt
    ----파일 생성
    
    > git init
    > open .gitignore
    > git add .
    > git status
    > git rm --cached -r .   스테이징한 것들을 되돌림(r: recursive)
    > git status
    > git commit -m "Initial Commit"

    5. clone

    > git clone https://github.com/austinzheng/swift-2048
    > cd swift-2048
    > git log 커밋 목록 확인 가능
    実際のマシンで実行するにはbundle識別子とteamを置き換える必要があります.

    6. Branching and Merging

    git init
    git add .
    git commit -m "Initial Commit"
    > git branch alien-plot
    > git branch (어느 브랜치에 있니)
    	alien-plot
        *main	(별표는 현재 위치한 브랜치를 나타냄)
    > git checkout alien-plot (브랜치 이동) 그리고 파일 수정
    > git checkout main
    > touch chapter4.txt
    > open chapter4.txt
    > git add .
    > git commit -m "add chapter4"
    
    > git checkout alien-plot 파일 수정하고
    > git commit -m "modify alien-plot"
    
    > git checkout main
    > git merge alien-plot 메인에서 alien-plot 머지하기
    
    > git push origin main -u
    Insight>ネットワークによるグラフィックの表示

    7. fork and pull request


    通常、クローンには読み書き権限があります.
    forkは書き込み権限がないのでpullを要求します(forkが私のrepoにコピーした場合)
    pullがコードレビューを行った後、異常がなければマージ

    Xcodeでの使用


    Source Control > commit
    Source Control > Discard all changes
    コントロール襟元のタブに移動し、>プライマリブランチからブランチを右クリック...

    英語の単語

  • 症結:要点

  • Origin:リモート・リポジトリの名前.
    [リモートストレージ時間にリモートストレージを追加]コマンド
    git remote add<名前>
    同様に、git remote add origin形式でリモート・リポジトリを追加できます.
    git cloneでリモート・リポジトリをコピーします.
    Originという名前のリモート・リポジトリが自動的に登録されます.

  • master:ブランチの中で最も中心的な基本ブランチをmasterブランチと呼ぶ

  • HEAD:現在どのワークスペースにいるかを示します.
    例えば、Masterブランチで働いていたら
    私のHEADはMaster Branchにあります.
    他のタスクにfeatureブランチを作成した場合
    私のHEADはFeatureブランチにあります:)