HIT2019春軟件構造->Git&Github學習筆記

  因爲軟件構造課程須要,學習使用git,如下做爲學習筆記。html

 

  

1、Git初始化及倉庫建立和操做git

 1.基本信息設置(設置簽名)github

 命令bash

       項目級別/倉庫級別:僅在當前本地庫範圍內有效less

              git configssh

 

  系統用戶級別:登陸當前操做系統的用戶範圍學習

              git config –global測試

 

    ls -lA|less   查看文件內容fetch

 

  級別優先級:就近原則->項目級別優先於系統用戶級別網站

  1.設置用戶名

    git config –global user.name ‘hiter1170301015’

  2.設置用戶郵箱

    git config –global user.email ‘1411021410@qq.com’

  3.查看設置

    git config –list

注:該設置在GitHub倉庫主頁顯示誰提交了該文件

 

辨析:設置的簽名和登陸遠程庫(代碼託管中心)的帳號和密碼沒有任何關係

 

2.初始化一個新的Git庫

  1. 建立文件夾

      mkdir test

  1. 在文件夾內初始化git(建立git倉庫)

      cd test

      git init

  注:.git目錄中存放的是本地庫相關的子目錄和文件,不要刪除,也不可隨意修改

 

 

3.向倉庫添加文件

    touch xx(文件) 建立新文件

    git status 查看文件狀態

    git add hello.c 添加至暫存區

    git status

    git commit -m ‘提交描述’ 將文件從暫存區提交到倉庫

 

    git rm –cached hello.c  將文件從暫存區撤回至工做區

 

4.修改文件

  nano hello.c

  重複向倉庫添加文件

 

5.刪除倉庫文件

  1.)刪除文件

    rm -rf hello.c

  2.)從git中刪除文件

    git rm hello.c

  3.)提交操做

 

  注:git rm -f hello.c 同時刪除工做區和暫存區文件

 

6.永久刪除文件後找回

 

 

找回:回退到某一個記錄

 

7.添加至暫存區的刪除文件找回

        git reset –hard HEAD

 

注:刪除後可找回,須要文件存在時的狀態提交至本地庫

git log

 

git log –pretty=oneline

 

git log --oneline

 

git reflog  顯示到某個版本須要幾步 HEAD@{移動到當前版本須要多少步}

 

多屏顯示控制方式:

        空格向下翻頁

        b向上翻頁

        q退出

 

8.前進後退(使用指針head)

  基於索引值操做 git reset –hard [局部索引值]

 

 

  使用^符號:只能後退

          git reset –hard HEAD^ 回退一步

    git reset –hard HEAD^^ 回退兩步

    git reset –hard HEAD^^^ 回退三步

 

  使用~符號

        git reset –hard HEAD~3 回退三步

 

注:reset命令的三個參數對比

        --soft 僅僅在本地庫移動HEAD指針

 

 

 

 

        --mixed 在本地庫移動HEAD指針,重置暫存區

 

        --hard 在本地庫移動HEAD指針,重置暫存區和工做區

 

比較文件差別 git diff [文件名]

       將工做區中的文件和暫存區中進行比較

結果

 

 

  git diff [本地庫中歷史版本] [文件名]

          將工做區中文件和本地庫歷史記錄比較

  注:不帶文件名能夠比較多個文件

 

2、分支

  在版本控制過程當中,使用多條線同時推動多個任務

  優勢:同時並行推動多個功能開發,提升開發效率;各個分支在開發過程之中,若是某一個分支開發失敗,不會對其餘分支有任何影響,失敗的分支刪除後從新開始便可。

  git branch -v 查看全部分支

  git branch 分支名 新建分支

  git checkout 分支名 切換到某一分支

  在不一樣分支上進行修改 修改後哈希值發生改變

 

 

 

1.合併分支

        切換到接受修改的分支上(被合併,增長新內容),執行merge命令

 

將hot_fix合併至master

 

 

2.合併衝突 修改不一樣分支同一文件的同一位置

        刪除特殊符號,修改文件內容後,便可進行合併。

 

3、git遠程倉庫管理

 

新建別名 git remote add 別名 原名(遠程庫原地址)

 

本地庫推送至遠程庫 git push 別名 分支名

 

1.Git克隆操做

  目的:將遠程倉庫(GitHub對應的項目)複製到本地

  git clone 倉庫地址

 

  效果:完整的把遠程庫下載到本地;建立origin遠程地址別名;初始化本地庫

 

2.遠程庫的拉取

   pull=fetch+merge

    1)git fetch [遠程庫地址別名] [遠程分支名]

    2)git merge [遠程庫地址別名/遠程分支名]

  兩步驟等同於

    git pull [遠程庫地址別名] [遠程分支名]

 

3.協同開發時的衝突解決

  兩人同時修改同一位置,先提交的人成功。

  後提交的人須要先拉取,再推送。(不是基於GitHub的最新版)

  若進入衝突狀態,進入「分支衝突」解決。

 

   

 

4.跨團隊協做

1. )其餘用戶點擊

  此時其餘用戶回到他的主頁

          當前倉庫全部人是其餘用戶,可是是從咱們的團隊fork來的

2.)本地bash 進行clone 修改後推送到遠程

3.)其餘用戶

 

 

 

 

發送具體信息

4. )咱們的團隊

 

查看消息內容,可進行對話,代碼審覈,肯定沒有問題。

 

填寫本次操做的日誌信息

5.遠程庫的修改可拉取至本地

 

 

4、SSH免密登陸

  1.進入當前用戶的家目錄 $ cd ~

  2.刪除.ssh 目錄$ rm -rvf .ssh

  3.運行命令生成.ssh 密鑰目錄 $ ssh-keygen -t rsa -C 用戶郵箱

  4.進入.ssh 目錄查看文件列表 $ cd .ssh $ ls -lF   

     查看id_rsa.pub 文件內容  $ cat id_rsa.pub  

  5.複製id_rsa.pub 文件內容,登陸GitHub,點擊用戶頭像→Settings→SSH and GPG Keys -> New SSH Key  輸入複製的密鑰信息

  6.回到Git bash 建立遠程地址別名 $ git remote add origin_ssh ssh地址

  7.推送文件進行測試

 

附:解決git push錯誤  The requested ULR returned error:403 Forbidden while accessing

   私有項目,沒有權限,輸入用戶名密碼,或者遠程地址採用這種類型

   vi .git/config

 

#將

[remote 「origin」]

  url=https://github.com/用戶名/倉庫名.git

修改成:

[remote 「origin」]

 url=https://用戶名:密碼@github.com/用戶名/倉庫名.git

 

5、github pages 搭建網站

 

我的站點

訪問

https://用戶名.github.io

 

搭建步驟

1.建立我的站點->新建倉庫(注:倉庫名必須是【用戶名.github.io】)

2.在倉庫下新建index.html的文件便可

注:1.github pages 僅支持靜態網頁

2.倉庫裏面僅能有.html文件

 

Project Pages 項目站點

https://用戶名.github.io/倉庫名

 

附:邀請團隊成員

相關文章
相關標籤/搜索