git,github,gitee,gitlab使用方法
時間:2023-04-30 12:54:02 | 來源:網(wǎng)站運營
時間:2023-04-30 12:54:02 來源:網(wǎng)站運營
git,github,gitee,gitlab使用方法:
1、Git,github,gitee,gitlab簡介
1.1 git
Git:一個免費的、開源的
分布式版本控制系統(tǒng),可以快速高效地處理從小型到大型的各種項目。 有廉價的本地庫,方便的暫存區(qū)域和多個工作流分支等特性。
1.2 版本控制工具
集中式版本控制工具集中版本控制集中化的版本控制系統(tǒng)諸如 CVS、SVN 等,都有一個單一的集中管理的服務(wù)器,保存所有文件的修訂版本。
好處:管理員輕松掌控每個開發(fā)者的權(quán)限,并且管理一個集中化的版本控制系統(tǒng),要遠比在各個客戶端上維護本地數(shù)據(jù)庫來得輕松容易。
缺點:中央服務(wù)器的單點故障。如果服務(wù)器宕機一小時,那么在這一小時內(nèi),誰都無法提交更新,也就無法協(xié)同工作。
分布式版本控制工具分布式版本控制Git、Mercurial等。像 Git 這種分布式版本控制工具,客戶端提取代碼倉庫完整地鏡像下來(本地庫)。任何一處協(xié)同工作用的文件發(fā)生故障,事后都可以用其他客戶端的本地倉庫進行恢復(fù)。
優(yōu)點:服務(wù)器斷網(wǎng)的情況下也可以進行開發(fā)(因為版本控制是在本地進行的);每個客戶端保存的也都是整個完整的項目(包含歷史記錄,更加安全)
1.3 Git工作機制
工作機制在上述階段中可以進行撤回。
1.4 Git和代碼托管中心
代碼托管中心是基于網(wǎng)絡(luò)服務(wù)器的遠程代碼倉庫,一般我們簡單稱為遠程庫。
? 互聯(lián)網(wǎng)
? GitHub(外網(wǎng)):GitHub 是一個面向開源及私有軟件項目的托管平臺,因為只支持 Git 作為唯一的版本庫格式進行托管,故名 GitHub。
? Gitee 碼云(國內(nèi)網(wǎng)站):有國內(nèi)github之稱。
? 局域網(wǎng)
? GitLab:一般公司內(nèi)部使用,不對外開放。
2、Windows下Git安裝
安裝
官網(wǎng)地址:
https://git-scm.com/;基本都是下一步,可以考慮保存路徑;
驗證
Git Bash 終端里輸入 git --version 查看 git 版本,如圖所示,說明 Git 安裝成功。
查看版本3、Git常用命令
用途 | 作用 |
設(shè)置用戶名 | 設(shè)置用戶簽名 |
設(shè)置郵箱 | 設(shè)置用戶簽名 |
初始化 | git init |
狀態(tài) | 查看本地庫狀態(tài),經(jīng)常用到 |
增加提交項目 | git add 文件名,提交 |
提價并備注 | git commit -m “日志信息” |
日志 | 查看歷史記錄 |
日志 | 詳細(xì)的記錄 |
回溯版本 | 版本穿梭 |
刪除文件【夾】 | git rm [-r] 文件【夾】 |
3.1 設(shè)置用戶簽名
命令表的1和2:添加賬號
添加賬號說明:簽名的作用是區(qū)分不同操作者身份。每個版本可以看到簽名信息。Git 首次安裝必須設(shè)置一下用戶簽名,否則無法提交代碼。
注意:這里設(shè)置用戶簽名和將來登錄 GitHub(或其他代碼托管中心)的賬號沒有任何關(guān)系。
3.2 初始化本地庫和狀態(tài)查詢
命令表的3和4:
初始化時本地文件夾下會多.git文件夾,第一次git status 時候顯示未提交:
git init/git status新鍵一個git_test.txt文件后,再使用git status,會提示如下(檢測未被追蹤到的文件)
再次提交后的status3.3 提交暫存區(qū)
命令表的5:git add 文件名
顏色變成綠色,表示在暫緩區(qū):
提交暫緩區(qū):git add3.4 提交本地庫
命令表的6:git commit -m “日志信息” 文件名
第一次提交第一次提交:git commit修改本地后的提示修改本地修改后的狀態(tài)第二次提交第二次commit3.5 日志查詢
命令表的7和8:git reflog/git log
git reflog/git log3.6 版本穿梭
命令表的7和8:git reset --hard 版本號
切回到第一個版本切回版本一默認(rèn)指向最新的版本,通過修改指向的版本號,可以進行回退,同時本地工作區(qū)也會同步回退。
切回第二次提交的版本切回版本2可以看出又還原回來了。
3.7 打補丁patch的使用
在項目中使用
git add xxx #(xxx表示提交的)git commit -m "modify"git format-patch -1 -o ./modify #(-1表示指提交最近一次的變動,若是-5表示最近5次的;modify表示patch的文件夾)
4、分支和團隊合作機制
4.1 分支簡介
分支管理分支的好處- 同時并行推進多個功能開發(fā),提高開發(fā)效率。
- 不影響已經(jīng)提交的代碼且可重復(fù):某一個分支開發(fā)失敗,不會對其他分支有任何影響。失敗的分支刪除重新開始即可。
4.2 命令
序號 | 命令 | 作用 |
---|
1 | git branch 分支名 | 創(chuàng)建分支 |
---|
2 | git branch -v | 查看分支 |
---|
3 | git checkout 分支名 | 切換分支 |
---|
4 | git merge 分支名 | |
---|
5 | git tag 版本號 | 記錄版本 |
---|
6 | git push 鏈接 版本號 | 版本號推送 |
---|
查看分支和創(chuàng)建分支查看和創(chuàng)建分支切換分支并分別在兩個分支上修改切換分支會后可以通過git branch -v 可以看出,會時綠色,且括弧后有標(biāo)志。
master分支修改并提交dev分支修改和提交合并和沖突合并和沖突沖突產(chǎn)生的原因:合并分支時,兩個分支在
同一個文件的同一個位置
有兩套不同的修改。Git 無法替我們決定使用哪一個。必須
人為決定
新代碼內(nèi)容。
解決沖突1)編輯有沖突的文件,刪除特殊符號,決定要使用的內(nèi)容:這里我都保留方式。
上圖的特殊符號:<<<<<<< HEAD 當(dāng)前分支的代碼 ======= 合并過來的代碼>>>>>>> dev
2)添加到暫存區(qū)
3)執(zhí)行提交(注意:此時使用 git commit 命令時不能帶文件名)
修改,提交暫存區(qū),提交本地庫4.3 團隊協(xié)助
概念
代碼托管中心:也即時遠程庫,是分布式管理系統(tǒng)的重要組成部分,這里可以理解為github,gitee,gitlab等。
具體操作可見下一章內(nèi)容。
團隊內(nèi)協(xié)助拉取,克隆和推送跨團隊合作
pull ,clone, push, fork request等5、GitHub操作
GitHub 網(wǎng)址:
https://github.com/看完了本地倉庫,我們來看看遠程倉庫,首先從github入手。常見命令如下:
命令名稱 | 作用 |
---|
git remote -v | 查看當(dāng)前所有遠程地址別名 |
git remote add 別名 遠程地址 | 起別名 |
git push 別名 分支 | 推送本地分支上的內(nèi)容到遠程倉庫 |
git clone 遠程地址 | 將遠程倉庫的內(nèi)容克隆到本地 |
git pull 遠程庫地址別名 遠程分支名 | 將遠程倉庫對于分支最新內(nèi)容拉下來后與當(dāng)前本地分支直接合并 |
git branch -d 分支名 | 刪除分支 |
git push remote_name -d remote_branch_name | 刪除遠端倉庫分支:例如刪除遠端的test分支 git push origin -d test |
5.1 創(chuàng)建遠程倉庫
在已有賬號的情況下,按照以下順序輸入:
創(chuàng)建遠程倉庫5.2 交互命令的使用(提交和拉取遠程庫)
修改別名:git remote add ori
https://github.com/yifanhunter/git_test.git推送本地庫到遠程庫:git push ori master
提示:這里可能報錯Logon failed, use ctrl+c to cancel basic credential prompt.,這里升級bash到2.36.1解決。也可以根據(jù)文末相關(guān)鏈接處理。推送到遠程倉庫clone到本地:git clone
https://github.com/yifanhunter/git_test.gitclone到本地從圖片可以看出clone 會自動進行:拉取代碼》初始化本地倉庫》創(chuàng)建別名(origin)
5.3 邀請其他人協(xié)作
邀請合作者
邀請成員點擊復(fù)制邀請鏈接:
復(fù)制邀請鏈接https://github.com/yifanhunter/git_test/invitations登錄yifanhanguang賬號,復(fù)制鏈接,即可看到以下邀請:
接受邀請新賬戶下的倉庫假設(shè)上述5.2中所述的是yifanhanguang的本地clone,在此基礎(chǔ)上演示協(xié)同修改,主要由于是一臺機器演示,這里需要取消憑據(jù)管理器,如下圖所示:
刪除git的賬號憑據(jù)依賴先修改文檔,刪除以上憑證,提交本地庫,push到遠程倉庫,最后結(jié)果如下。而且通過主yifanhunter賬號也可以看到修改,達成協(xié)同合作的效果。
協(xié)助人員提交后電腦憑證顯示為協(xié)作者提交5.4 跨團隊合作--fork
登錄yifanyuanzhi賬號,模擬外部人員,fork該倉庫。
fork倉庫可以和之前一樣使用git修改,也可以通過頁面編輯進行提交。為了能讓對方進行合并,提交pull requests,再按照下圖所示提交:
pull requests提交對方賬號在pull requests處顯示提交項目。
pull requests接收github不僅可存儲代碼,還有聊天功能;
如果j決得對方提交是何理的,可以點擊merge pull request,這時Pull requests的提示會消失,并且內(nèi)容合并完成。
GitHub聊天和pull request合并5.5 免密登錄--SSH
目的:不用反復(fù)登錄賬號和密碼。
出現(xiàn)以下形式,表示沒有配置。
不能使用ssh配置步驟如下:刪除.ssh》創(chuàng)建ssh》拷貝id_rsa.pub
wangyifan@LAPTOP-KHE3E7K4 MINGW64 ~ #進入家目錄rm -rf .sshssh-keygen -t rsa -C yifanhuntercd .sshcat id_rsa.pub
復(fù)制 id_rsa.pub 文件內(nèi)容,登錄 GitHub,點擊用戶頭像》Settings》SSH and GPG keys
拷貝本地密鑰到遠程賬號后面該賬號再往遠程倉庫 push 東西的時候使用 SSH 連接就不需要登錄了。如下圖所示。注意使用ssh的鏈接。
ssh的push6、其他知識
1 版本問題
RC=Release Candidate:發(fā)布候選版”,它不是最終的版本,而是最終版(RTM=Release To Manufacture)之前的最后一個版本。
測試有三個傳統(tǒng)的稱呼:alpha、beta、gamma,用來標(biāo)識測試的階段和范圍。
- alpha 是指內(nèi)測,即現(xiàn)在說的CB,指開發(fā)團隊內(nèi)部測試的版本或者有限用戶體驗測試版本。
- beta 是指公測,即針對所有用戶公開的測試版本。
- gamma在beta版本做過一些修改,成為正式發(fā)布的候選版本時叫做,現(xiàn)在叫做RC(Release Candidate)。
2 github和gitee倉庫同步的設(shè)置方法
https://gitee.com/help/articles/4336#article-header0 7、相關(guān)鏈接
- 版本問題導(dǎo)致提交錯誤的解決方法
- github加速方法