git——从入门到精通
文章目錄
- git使用教程
- 準備知識
- 版本控制
- Linux基礎(chǔ)命令
- 基本理論
- 克隆項目至本地
- git相關(guān)配置
- 修改提交時的用戶名名稱
- 修改遠程倉庫地址
- 遠端操作
- 添加遠程倉庫
- 移除遠程倉庫
- 文件操作
- 查看文件狀態(tài)
- 更新文件
- 添加所有文件到暫存區(qū)
- 提交暫存區(qū)文件
- 上傳到遠端
- 比較差異
- 查看日志
- 版本回退
- 配置SSH公鑰
- 分支
- 常見錯誤及解決
- 1.fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054
- 2.fatal: The remote end hung up unexpectedly
- 3.文件沖突
- 4.Git bash Error: Could not fork child process: There are no available terminals (-1)
git使用教程
本教程僅記錄了學習狂神說git時的學習筆記與一些自己使用時的技巧,侵刪。
另外,歸根結(jié)底最全面的資料還是官方文檔,大家應該養(yǎng)成遇到難以解決的問題去官方文檔上查詢的習慣。(雖然我也沒有)
準備知識
版本控制
分類
適合個人
版本數(shù)據(jù)放在服務(wù)器上。
缺點:
(1)存在服務(wù)器損壞風險
(2)無分支
(1)同步到每個用戶本地
(2)可離線提交
Linux基礎(chǔ)命令
linux基本指令
切勿在Linux上嘗試 rm -rf / 會格式化電腦
基本理論
工作區(qū)域
- 工作區(qū):本地存放項目文件代碼
- 暫存區(qū):臨時存放改動,其實為一個列表信息文件
- 本地倉庫:存放文件變化數(shù)據(jù)
- 遠程倉庫:github/gitee……
克隆項目至本地
git相關(guān)配置
配置環(huán)境變量只是為了可以隨時使用,但已存在于右鍵,無需配置,且已自動配置
- 查看配置:git config -l
- 查看系統(tǒng)配置:git config --system --list
- 查看本地配置:git config --global --list
- git config --global user.name “xxx”
- git config --global user.email
修改提交時的用戶名名稱
git config --global user.name xxx
修改遠程倉庫地址
或者
git remote rm origin git remote add origin [url]遠端操作
添加遠程倉庫
git remote add origin url移除遠程倉庫
git remote remove origin文件操作
文件4種狀態(tài):
查看文件狀態(tài)
查看狀態(tài)
#查看所有文件狀態(tài) git status#查看指定文件狀態(tài) git status "filename"更新文件
git pull origin 遠端分支:本地分支
添加所有文件到暫存區(qū)
#添加所有文件到暫存區(qū)
git add .
提交暫存區(qū)文件
#提交暫存區(qū)文件到git倉庫
git commit -m “文件描述”
上傳到遠端
git push origin 本地分支:遠端分支
上傳時忽略文件方法:
在主目錄下創(chuàng)建.gitignore文件,可以控制不上傳哪些文件
- 使用手冊
- #為注釋
- 可使用linux通配符
- !代表例外規(guī)則,不被忽略
- /路徑分隔符
- 舉例
比較差異
可以比較尚未提交的文修改前后的差異
git diff filename查看日志
git log版本回退
git回退到上個版本
git reset --hard HEAD^回退到n次提交之前
git reset --hard HEAD~n配置SSH公鑰
分支
- 查詢
- 創(chuàng)建
- 常用分支命名
| 主分支 | master | 主分支,所有提供給用戶使用的正式版本,都在這個主分支上發(fā)布 |
| 開發(fā)分支 | dev | 開發(fā)分支,永遠是功能最新最全的分支 |
| 功能分支 | feature | 新功能分支,某個功能點正在開發(fā)階段 |
| 發(fā)布版本 | release | 發(fā)布定期要上線的功能 |
| 修復分支 | bug | 修復線上代碼的 bug |
- 合并
- 刪除
- 切換
常見錯誤及解決
1.fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054
錯誤描述:
fatal: unable to access ‘https://github.com/…’: OpenSSL SSL_read: Connection was reset, errno 10054
產(chǎn)生原因
一般是因為服務(wù)器的SSL證書沒有經(jīng)過第三方機構(gòu)的簽署
解決方法
git config --global http.sslVerify false2.fatal: The remote end hung up unexpectedly
錯誤描述:
remote: Enumerating objects: 19, done.
remote: Counting objects: 100% (19/19), done.
remote: Compressing objects: 100% (19/19), done.
error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function.
fatal: The remote end hung up unexpectedly
產(chǎn)生原因
git默認緩存大小不足
解決方法
git config --global http.postBuffer 200000003.文件沖突
錯誤描述:
! [rejected] main -> front (non-fast-forward)
error: failed to push some refs to
hint: Updates were rejected because a pushed branch tip is behind its remote
hint: counterpart. Check out this branch and integrate the remote changes
hint: (e.g. ‘git pull …’) before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.
產(chǎn)生原因
文件沖突
解決方法
git stash git pull git stash pop stash@{0}或者強制更新
git fetch --all git reset --hard origin/master注:reset有3種模式:
soft:回退版本提交歷史,暫存區(qū)和工作區(qū)不變。
mixed:回退版本提交歷史,暫存區(qū)文件與該版本一致,工作區(qū)不變。
hard:回退版本提交歷史,暫存區(qū)和工作區(qū)文件與該版本一致。
4.Git bash Error: Could not fork child process: There are no available terminals (-1)
錯誤描述:
Git bash Error: Could not fork child process: There are no available terminals (-1)
產(chǎn)生原因
打開的git-bash太多
解決方法
打開任務(wù)管理器關(guān)閉所有的git.exe
總結(jié)
以上是生活随笔為你收集整理的git——从入门到精通的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.程序的工种分类
- 下一篇: [ WebUpload ] WebUp