天天看點

Git學習筆記前言總結筆記

文章目錄

  • 前言
  • 總結筆記
    • 1.git 倉庫初始化
    • 2.git 送出分支
    • 3.git 檢視狀态
    • 4.git 檢視日志
    • 5.git 重置,版本回退
    • 6.git 删除檔案,找回本地檔案
    • 7.git 比對檔案差異
    • 8.git 分支操作
    • 9.git 建立遠端庫
    • 10.git 推送本地庫到遠端庫
    • 11.git ssh免密登入
    • 12.git 報錯處理

前言

自己學習完之後做的一些記錄,今天分享出來,希望能幫到有需要的人!

新手上路:

  1. git是什麼
  2. git學習視訊
  3. 這個也不錯

總結筆記

這個是我自己總結的筆記,遇到忘記的友善随時來檢視,順便分享給大家,有什麼問題歡迎大家評論,一起學習!

1.git 倉庫初始化

git init //初始化git倉庫
git config --global user.name <username> // 設定全局使用者名和郵箱 
git config --global user.email <useremail>
           

2.git 送出分支

git add <filname> //将檔案送出到暫存區
git commit -m "<projectTip>" <filename> // 将送出的檔案添加注釋并送出到本地庫
           

3.git 檢視狀态

4.git 檢視日志

git log //檢視日志檔案,檢查版本号以及送出作者等消息
//顯示冒号之後有日志狀态提示符:下一頁-空格;上一頁-b;到尾頁-顯示END;退出log-q
//多種日志展示方式:
git log //普通方式;
git log --online //一行展示,簡略索引号
git reflog //多了一個數字版本指針,表示目前版本回到該版本的步數
           

5.git 重置,版本回退

git reset --hard <git log 中檢視到的索引号> //将工程版本回退到指定的索引号的版本之中
//中間參數不同的應用
--hard //工作區,暫存區,本地庫一起移動
--mixde // 工作區不動,暫存區和本地庫移動
--soft //本地庫動,其他兩個都不動
           

6.git 删除檔案,找回本地檔案

rm <filename> //删除工作區的檔案
git add <filename> //同步到暫存區
git commit -m "<項目注釋>" <filename> //同步到本地庫
git reflog //檢視版本索引
git reset --hard <索引> //恢複到有檔案版本,可以直接用HEAD參數切換到目前版本(也就是倉庫檔案還沒删除,但暫存區和工作區删了,也可以恢複出來)
           

7.git 比對檔案差異

git diff <filename>  //對比工作區和暫存區檔案内容,不添加檔案名為所有檔案 
git diff HEAD <filename>   //對比目前指針本地庫和暫存區檔案差異
           

8.git 分支操作

//并行開發,不同功能之間不幹擾
git branch -v //檢視分支
git branch <branch name>  //建立新分支
git branch checkout <branch name> //切換到制定分支
git checkout <主分支> | git merge <branch name> // 兩步操作,進入主分支之後将分支内容添加到主分支,形成新的主分支
// 多個分支修改同一個檔案的同一個位置(同一行),會出現合并沖突
---> 解決辦法:人為決定留下的檔案内容,重新commit檔案  ps:不可以帶檔案名
git commit -m "<項目注釋>"
           

9.git 建立遠端庫

git remote  -v  //檢視遠端庫别名
git remote add <倉庫别名> <遠端倉庫路徑>  //為遠端倉庫增加一個别名
           

10.git 推送本地庫到遠端庫

git push <遠端庫别名> <要推送的本地倉庫>  // 如果沒有會建立新分支
可以再中間加上參數:
git push -u origin master //把本地倉庫的檔案推送到遠端倉庫
           

11.git ssh免密登入

cd ~  //進入目前系統使用者目錄
ssh-keygen -t rsa -C <github賬戶郵箱>  // 建立ssh秘鑰檔案,将其生成到使用者名下.ssh檔案夾下
// 複制生成的秘鑰綁定到github賬号ssh秘鑰
           

12.git 報錯處理

《1》warning: LF will be replaced by CRLF in.......
這種錯誤的原因是存在符号轉義問題,在windows中的換行符為 CRLF, 而在linux下的換行符為LF,是以在執行git add . 或git deploy語句的時候可能就會出現這個錯誤,執行:
$ git config core.autocrlf
檢視目前配置項狀态:此指令會有三個輸出,“true”,“false”或者“input”
->為true時,Git會将你add的所有檔案視為文本問價你,将結尾的CRLF轉換為LF,而checkout時會再将檔案的LF格式轉為CRLF格式。
->為false時,line endings不做任何改變,文本檔案保持其原來的樣子。
->為input時,add時Git會把CRLF轉換為LF,而check時仍舊為LF,是以Windows作業系統不建議設定此值。
解決方法:執行
git config --global core.autocrlf false 
将全局配置項改為 false ,所有檔案原模原樣上傳,不做修改
《2》error: failed to push some refs to 
解決辦法1:
在push之前先pull
git pull origin master // 把本地倉庫的變化連接配接到遠端倉庫主分支
解決辦法2:
加上參數 -f 強行push:
git push -f origin master