學(xué)習(xí)?
1.?去B站看視頻學(xué)習(xí),只看前39集:
01-Git概述(Git歷史)_嗶哩嗶哩_bilibili
2.學(xué)習(xí)Linux系統(tǒng)文本編輯器的使用
vi編輯器操作指令分享 (baidu.com)
(13條消息) nano編輯器的使用_SudekiMing的博客-CSDN博客
?下載
windows下載安裝
Git官方下載地址:
Git - Downloading Package
安裝圖解:
https://www.cnblogs.com/ximiaomiao/p/7140456.html
linux下載安裝
sudo apt install git
windows下git命令與Linux一致
git 的命令
git init? ??初始化倉庫
git clone? https://? ? ? ? 克隆倉庫
git status? ?查看倉庫狀態(tài)
git add <file/name> ? ? ? ? ?? 添加文件到暫存區(qū)
git commit -m "文件信息"? ?提交更改的文件到倉庫
git rm?<file_name>? 刪除文件,然后提交,版本倉庫的也刪除了
git config --list??查看用戶名和郵箱?
git checkout -b <分支名> ? #創(chuàng)建新的分支
git branch ? ? ? ? ? ? ? ?#查看分支
git rm -r --cached <文件名> ?# 刪除遠程文件或者文件夾子
git push origin --delete <分支名> #刪除遠程分支
git branch -d <分支名> ? ? # 刪除本地分支
git remote -v ? ? ? ? ? ? ? #顯示遠程倉庫
git merge <分支名> ? ? ? ? # 合并分支
git pull ? ? ? ? ? ? ? ? ?# 拉取, 一般兩個人同時對一個分支進行修改后,如果別人先提交的,則需要拉取下來在本地解決沖突后合并
git rebase ? ? ? ? ? ? ? ?#變基 ?
git log ? ? ? ? ? ? ? ? ? #查看歷史提交
git checkout <commit 序列> #回退到歷史版本 ?
git reflog ? ? ? ? ? ? ? ?# 記錄每一次的命令
git branch <新分支名> <序列號> ?#如果回退到歷史版本后更改代碼了,想再次提交,則可切換到最新版本, 然后用該命令行創(chuàng)建新的分支
倉庫
查看文件的狀態(tài)?git status?
把文件添加到暫存區(qū)? ?git add <file_name> ? ?取消添加? ? ? git reset?<file_name>
提交到本地倉庫? ? ??git commit? -m ""
修改的文件想要提交到倉庫,必須先要添加到暫存區(qū)
git commit -a?-m ""? 添加到暫存區(qū)并提交到倉庫
文件加入到忽略列表,不需要版本管理。創(chuàng)建.gitignore文件,列出要忽略的文件后綴? 命令: touch?.gitignore
查看遠程倉庫? ? ?git remote
新建的本地倉庫需要關(guān)聯(lián)遠程倉庫,才能Push ,可以關(guān)聯(lián)多個遠程倉庫
關(guān)聯(lián)遠程倉庫? ? git remote add origin < https://>?
克隆倉庫會把歷史版本和日志信息一起復(fù)制下來
git remote rm? 從本地移除遠程倉庫的記錄
fetch抓取? ?pull拉取?? ?merge合并
git fetch ?origin master從遠程倉庫獲取最新版本到本地倉庫,不會自動merge ,需要手動合并到工作區(qū),git merge? origin? master
git pull?origin master??從遠程倉庫獲取最新版本并merge到本地倉庫,
如果本地倉庫不是克隆來的,并且存在文件,會報錯,需要加參數(shù): git pull origin master --allow-unrelated-histories
git push origin master 將本地倉庫推送到遠程倉庫
分支
查看分支
列出所有分支? git branch -a
列出所有本地分支? git branch?
列出所有遠程分支? git branch -r
創(chuàng)建分支?
git branch <name>
以當(dāng)前分支為基礎(chǔ)創(chuàng)建的,所以一般在主分支創(chuàng)建新分支
git checkout --orphan <name>
創(chuàng)建新的空分支
切換分支 git checkout?<name>
推送新分支到遠程倉庫 git push origin <name>
推送所有分支到遠程倉庫git push --all origin
合并分支
進入主分支執(zhí)行g(shù)it merge <name>
兩分支合并,對于同一個文件不同的修改,會報錯,需要自己去修改文件, 然后 git add <修改的文件名>, 說明已解決沖突 ,然后提交到本地倉庫,最后推送分支到遠程倉庫
在合并改動之前,可以使用如下命令預(yù)覽兩個分支的差異:
git diff <source_branch> <target_branch>
刪除本地分支
git branch -d <name>? ? ? ,? ?強制刪除: git branch -D <name>? ,不建議
刪除遠程倉庫分支? git push origin -d <name>
標(biāo)簽
標(biāo)簽常用做版本名 標(biāo)識
git tag <name> 創(chuàng)建標(biāo)簽
git tag 列出所有標(biāo)簽
git show <name>?查看標(biāo)簽信息
git push origin <name>? 推送標(biāo)簽到遠程倉庫
git tag -d [tag] 刪除本地標(biāo)簽
git push origin :refs/tags/[tag]
檢出標(biāo)簽 :新建一個分支,指向某個tag, 這個分支就以那個版本為基礎(chǔ),
命令: git checkout -b [branch] [tag]?
在ubuntu 代碼版本管理流程
?第一步:
安裝git命令
sudo apt-get install git
指定用戶名和郵箱?
用你名字的拼音作為user.name ,你的郵箱作為user.email
$ git config --global user.name "Your Name"
$ git config --global user.email "youremail@domain.com"
然后到代碼工作區(qū)里執(zhí)行命令?git init? ?初始化本地倉庫,如果有了.git就不用執(zhí)行
(linux系統(tǒng)如果看不到.git,按Ctrl + H 顯示隱藏的文件 )
git remote 查看遠程倉庫,沒有origin(倉庫名稱)的話就添加遠程倉庫:
? git remote add origin??https://gitee.com/用戶名/倉庫名/樹/分支
,進行關(guān)聯(lián),如果是在U盤中的文件倉庫關(guān)聯(lián),需要執(zhí)行命令給倉庫目錄增加權(quán)限: git config --global --add safe.directory 目錄
第二步:
?在開發(fā)過程中,同分支上如果別人對遠程倉庫的代碼進行了修改。我們就可以使用git pull拉取遠程代碼,就可以將別人最新修改的代碼同步到我們的本地工作區(qū)。
git pull origin master? --allow-unrelated-histories? 拉取master分支的最新版本到本地
寫代碼,修改代碼
git add . ? ?把所有的文件添加到暫存區(qū)
git commit -m "log"? ? ? 把暫存區(qū)的文件提交到本地倉庫
log的寫法:對哪個文件進行了操作,需要注意什么
或者一個命令完成:? git commit -a?-m "信息"? ? ? 把所有文件添加到暫存區(qū)并提交到倉庫
git push origin master 將本地倉庫推送到遠程倉庫
輸入你的git郵箱和密碼
如果嫌每次輸入git賬號和密碼麻煩,設(shè)置保存密碼。如,將賬號密碼保存 30 分鐘
git config --global credential.helper 'cache --timeout=1800'
注意問題
?假如你新建了一個遠程倉庫,里面只有README.md文件,這時你在本地倉庫想推送代碼到遠程倉庫,就會報上面的錯,因為遠程倉庫含有本地倉庫不存在的文件,推送的話可能會覆蓋掉遠程倉庫的文件。解決方法:
1.先同步git/github上的文件到本地,在本地更改將內(nèi)容進行合并后再上傳,依次執(zhí)行下面命令:
git pull origin master? --allow-unrelated-histories? 拉取文件并合并到本地
如果本地倉庫不是克隆來的,并且存在文件,會報錯,需要加參數(shù): git pull origin master --allow-unrelated-histories
git push origin master? 推送
2.強行推送(不建議)
?git push -u origin +master
強行上傳會覆蓋掉遠程倉庫的文件,不到萬不得已不用
如果遠程倉庫的代碼被別人修改過而你在修改本地代碼前沒有pull拉取最新的,會導(dǎo)致代碼版本不一樣,這時候會提交失敗,可以?git push --force origin 分支名
,這樣會本地代碼強制覆蓋遠程倉庫代碼(會覆蓋掉別人的修改),所以每次更改代碼前最好pull一下。如果遠程沒有這個分支,會在遠程倉庫新建一個。不建議強行覆蓋,如果要強行覆蓋,先問問你團隊的人。
回溯操作:如果你pull代碼后發(fā)現(xiàn)你的代碼被其他人誤操作了,可以git reset --hard HEAD^
,使本地倉庫當(dāng)前分支回退到上一次提交的狀態(tài),回退前記得切換到相應(yīng)分支。而HEAD^^
表示上上次的狀態(tài),HEAD~100
表示上100次的狀態(tài)。也可以把HEAD換成上一步中l(wèi)og里的commit的序列號。
如果代碼有大改,記得推送一個版本標(biāo)簽,方便維護版本
git tag <name> 創(chuàng)建標(biāo)簽 v1.0
git push origin <name>? 推送標(biāo)簽到遠程倉庫
如果推送的文件過大,解決方法
error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 這個怎么規(guī)避 - 我愛學(xué)習(xí)網(wǎng) (5axxw.com)
1.增加 Git 中緩存的默認限制
git config --global http.postBuffer 52428800
2.更換遠程倉庫的連接方式,這里換的是SSH
git push error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity To_小卒曹阿瞞的博客-CSDN博客
步驟一,生成ssh私鑰和公鑰并配置gitee公鑰
打開PowerShell,運行 ssh-keygen?-t ed25519 -C "xxxx@qq.com"
過程會提示文件保存路徑、密碼,不用輸入,連續(xù)三次回車。
打開 C:\Users\當(dāng)前用戶.ssh 目錄,會有兩個文件id_rsa(私鑰)id_rsa.pub(公鑰)
記事本打開id_rsa.pub公鑰文件,全選復(fù)制內(nèi)容到gitee公鑰里(https://gitee.com/profile/sshkeys),倉庫主頁 「倉庫設(shè)置」->「部署公鑰管理」->「添加部署公鑰」 。標(biāo)題隨便寫。點確定保存。
步驟二,測試ssh是否能連接成功,PowerShell運行:
ssh -T git@gitee.com
yes, 提示 You’ve successfully authenticated
步驟三,復(fù)制ssh倉庫url(非https)
對大文件重新上傳
第一步 修改地址
git remote set-url origin 復(fù)制的SSH地址
第二步 重新提交
第三步 重新上傳
git push origin master
下載開源代碼注意:
先查看有多少分支
git clone https://...? 只會克隆 默認分支
?克隆所有分支,用下面命令
git clone --mirror https://...
或者:?
git pull --all https://...
github加速:
github在國內(nèi)訪問是非常慢的,有時候克隆個項目都失敗,git clone加速方法
1. 在執(zhí)行g(shù)it clone之前,執(zhí)行命令:
git config --global url."https://ghproxy.com/".insteadOf https://
向git全局環(huán)境增加一個替換設(shè)置,它會自動給github的鏈接前面增加ghproxy.com的加速鏈接,從而實現(xiàn)快速克隆項目的目標(biāo)。
第二種方式配置文件法(推薦)
在 ~/.git /config 中增加如下配置即可加速,git對Github的訪問
……前面的七七八八內(nèi)容不用管
[url "https://ghproxy.com/https://github.com/"]
insteadOf = https://github.com/
練習(xí)
學(xué)習(xí)了git ,相信你已經(jīng)會使用命令了,現(xiàn)在做個練習(xí)試試看:
去opencv官方的github開源倉庫,使用命令下載opencv4.5.2版本
網(wǎng)址:opencv/opencv: Open Source Computer Vision Library (github.com)
(首先你要找到4.5.2的版本,點擊【<>Code】,復(fù)制https://github.com/ .git的克隆鏈接,使用git clone命令下載)
參考:
(13條消息) 【git】大文件git clone不下來問題_git大文件拉不下來_xll_bit的博客-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-756172.html
Git簡介 - 廖雪峰的官方網(wǎng)站 (liaoxuefeng.com)文章來源地址http://www.zghlxwxcb.cn/news/detail-756172.html
到了這里,關(guān)于代碼版本管理工具 git的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!