關於git命令的筆記

一 、git的導入

  1. git的初始化
    • 初始化姓名和郵箱(會在~/.gitconfig 下設置)
      • git config --global user.name "firstname lastname"
      • git config --global user.email "[email protected]"
    • 爲了更好的顯示命令 添加一條命令
      • git config --global color.ui auto
  2. 使用前的準備
    • 設置ssh登陸
      • 設置ssh key
        • ssh-keygen -t rsa -C "email@email"
      • 命令成功後會在~/.ssh/ 下生成id_rsa和id_rsa.pub,後者爲公鑰,前者爲私鑰

         

      • 將公鑰添加到github內
      • 測試ssh登陸github
  3. 基本操作

    • 初始化倉庫
      • mkdir DSA_Learn
      • cd DSA_Learn
      • git init
      • 成功後會在當前目錄生成 .git
    • 查看當前狀態
      • git status
    • git add 向暫存區內添加文件

       

    • git commit 保存倉庫的歷史記錄

      • git commit -m "first commit"//-m只記錄簡介信息
    • git log 查看提交的日誌

       

    • git diff 查看更改前後的差別
  4. 分支操作

    • 顯示分支一覽表
      • git branch "分支名"  創建分支,例如 git branch zhuhu 其中zhuhu就是分支名
    • 創建和切換分支(創建feature-A 並切換的分支下面)
      • git checkout -b feature-A
    • 切換回上一次的分支
      • git checkout “分支名” 例如 git checkout zhuhu q切換到zhuhu這個分支裏面去
      • git checkout master  切換到主線中
    • 合併分支
      • 首先切回master分支
      • git merge --no-ff feature-A  git merge “分支名” 就是將該分支合併到主線中
    • 以圖表方式查看分支
      • git log --graph
  5. 更改提交的操作
    • 回溯歷史版本(提供hash值即可回溯到版本)
      • git reset --hard hash
    • 查看當前狀態的log和查看當前倉庫的log
      • git log
      • git reflog //當前倉庫的log

    若完成此操作

    • 若完成此操作
      • 創建feature-A分支併合並
      • 回溯到創建合併前的master狀態
      • 創建fix-B
      • 修改fix-B
      • 回溯到feature-A合併的狀態
      • 合併fix-B(可能需要解決衝突)
  6. 修改提交信息
    • git commit --amend修改上一條提交信息
  7. 推送到遠程倉庫
    • 爲本地倉庫設置遠程倉庫(origin爲遠程倉庫的標識符)
    • 將本地倉庫推送的遠程倉庫
      • git push -u origin master //
      • 會將當前分支推送到遠程倉庫origin的master下;-u命令是將origin 分支設置爲master的upstream(上游),之後從遠程獲取信息的話,直接從origin的master分支獲取內容
      • 推送master以外的分支
        • git push -u origin feature-D
  8. 從遠程倉庫獲取
    • git clone [email protected]:skywak3r/DSA_Learn
    • git branch -a獲取所有的分支信息
    • 獲取遠程倉庫的feature-D分支
      • git chekcout -b feature-D origin/feature-D
      • 修改D中的內容
      • 將feature-D推送到遠端
        • git commit -am "add feature-D"
        • git push
    • 獲取最新的遠程倉庫的feature-D的內容
      • git pull origin feature-D 將本地的feature-D更新到最新狀態
  9. pull requset的使用
    • pull request是自己修改完代碼之後,請求倉庫採取的一種行爲。
      • pull之後要在ISSUE中詳細描述出修改
    • pull的具體步驟
      • 將遠程倉庫的fork到自己遠程倉庫
      • 將遠程倉庫clone到自己倉庫
      • 創建特性分支
      • 在特性分支下修改代碼
      • git push 到自己的遠程倉庫
      • 登陸githun 點擊create pull填寫issue後提交。
    • git pull 更有效的方法
      • 提早發送pull,即使尚未完成,只需要簡單寫出思路,會有人提出意見。
      • 在提交的pull前綴【WIP】(work in process)
  10. 倉庫的維護
    • fork到自己的遠程倉庫之後,很可能與最新的代碼失節。
      • 爲遠程倉庫設置upstream
      • 更新倉庫
        • git fetch upstream
  11. 接受pull request
    • 當收到pull request後
    • 你需要clone他的最新代碼 git remote add "pull request發送者" git@github:pullrequet發送者/代碼 git fetch 發送者
    • 創建一個新的分支併合並 git checkout -b feature git merge work
    • 檢測代碼 若成功
    • 刪除合併的分支 git branch -D feature
    • git push

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章