Git簡單使用

1. 本地庫初始化前期

1.1. 本地庫初始化

    在項目文件夾中使用git init 初始化git本地倉庫
    會生成一個.git文件夾, 裏面有一些子目錄和文件

1.2. 設置簽名

    1. 形式: 
        用戶名: tom
        Email地址: [email protected]
        作用: 區分開發人員
    2. 辨析: 這裏設置的簽名和登陸遠程中心的賬號密碼沒有任何關係

    3. 命令: 
        1. 項目(倉庫) 級別: 僅在當前本地庫使用, 即本項目使用
            git config user.name tom_pro
            git config user.email [email protected]

            信息保存的位置是.git/config
        2. 系統用戶級別: 登陸當前操作系統的用戶範圍
            git config --global user.name tom_glb
            git config --global user.email [email protected]

            保存位置 ~/.gitconfig
        3. 遵循就近原則: 項目級別 > 系統用戶級別
            不允許都不存在的狀態.

2. 本地庫的操作

2.1. 初始化和提交

    1. 查看狀態
        git status 
    2. 將工作區的"新建和修改" 添加到暫存區
        git add <file>  將沒有track的文件假如到我們的git管理的東西, 即添加到暫存區
        git rm --cached 移除到暫存區, 進行撤銷
    
    git commit 進行提交併寫上註釋
    git commit -m "" <file name>

2.2 更新版本(前進後退)

2.2.1 查看日誌

        git log 顯示日誌, 完整的日誌
        git log --pretty=oneline  在同一行顯示, 有完整的hash值
        git log --oneline 顯示hash值的一部分
        git reflog 顯示移動的步數 
            HEAD@{移動到當前版本的步數}

2.2.1 基於索引值進行前進後退[推薦使用]

        git reflog 先查看hash值
        git reset --hard <hash Value>

2.2.2 使用^符號: 只能後退

        git log --oneline 只顯示先前的歷史記錄
        git reset --hard HEAD^ "^" 的個數代表回退的機會
        git reset --hard HEAD~3 表示回退3步
        git reset --hard HEAD~n "n" 代表我們要回退的步數

2.2.3 reset的三個參數對比

        1. --soft  
            僅在本地庫移動指針
            本地庫向前, 相對的暫存區和工作區後移
        2. --mixed
            在本地庫移動HEAD 指針
            重置暫存區
        3. --hard	使用最多OB
            在本地庫移動HEAD指針
            重置暫存區
            重置工作區

2.2.4 刪除文件找回

        **前提: 刪除前: 文件存在時的狀態提交到了本地庫**
            git reset --hard [指針位置]
            刪除操作已經提交到本地庫, 指針指向歷史記錄位置
            刪除操作爲提交至本地庫, 指針使用HEAD
             使用跳轉就好了

2.2.5 進行比較, 文件差異

        git diff [文件名]
            將工作區的文件和暫存區比較
        git diff [本地庫歷史版本]
            將工作區的文件和本地庫歷史記錄進行比較

2.3 分支操作

    1. 創建分支
        git branch [分支名]
    2. 查看分支
        git branch -v
    3. 切換分支
        git checkout [分支名]
    4. 合併分支
        1. 切換到接收修改的分支上(被合併的, 增加新內容);
            git checkout [分支名]
        2. 執行merge命令
            git merge [分支名]
    5. 分支衝突
        1. 衝突表現: 文件中多出來一些東西, 指明是誰修改了
        2. 衝突解決
            2.1 編輯文件, 刪除特殊符號
            2.2 把文件修改到滿意的程度
            2.3 git add [文件名]
            2.4 git commit -m "日誌信息"
                notice : 此時不能帶任何文件名字

3. 遠程庫與本地庫之間的操作

3.1 克隆 git clone [Address]

    1. 完整的把遠程庫下載到本地
    2. 創建origin遠程地址別名
        git remote add orgin [地址]
    3. 初始化本地庫
    4. 推送到遠程庫 
        git push [地址別名] [分支名]

3.2 pull = fetch + merge

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

3.3 解決衝突:

    1. 要點
        1. 如果不是基於Github遠程庫最新版做的修改, 不能推送, 必須先拉去操作.
        2. 拉取下來, 進入衝突, 解決衝突就好了.

3.4 ssh登陸

    1. 進入當前用戶的home目錄
        $ cd ~
    2. 刪除.sh目錄
        $ rm -rvf .ssh
    3. 運行命令生成.ssh密鑰目錄, 
        $ ssh-keygen -t rsa -C [Your email used in login Github]
        notice : -C is capital format
    4. 進入.ssh 目錄查看文件列表
        $ cd .ssh
        $ ls -LF
    5. 查看id_rsa.pub的文件內容
        $ cat id_ras.pub
    6. 複製文件內容, 登陸GitHub, 點擊頭像->Settings->SSH and GPG keys
    7. NEW ssh key 
    8. 輸入複製的密鑰信息
    9. 回到git bash 裏面創建遠程地址別名.
        $ git remote add orgin_ssh [ssh 地址]
    10. 推送文件測

4. 在eclipse中進行操作

4.1 在eclipse 中初始化本地庫, 右鍵工程->team->share project 

4.2 創建好之後, 我們可以需要寫一個gitignore文件,忽略我們版本庫不需要的東西.
4.3 未完待續
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章