文章目錄
- 前言
- 總結筆記
-
- 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 報錯處理
前言
自己學習完之後做的一些記錄,今天分享出來,希望能幫到有需要的人!
新手上路:
- git是什麼
- git學習視訊
- 這個也不錯
總結筆記
這個是我自己總結的筆記,遇到忘記的友善随時來檢視,順便分享給大家,有什麼問題歡迎大家評論,一起學習!
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