柚子快報(bào)邀請(qǐng)碼778899分享:Git版本管理及相關(guān)操作總結(jié)
柚子快報(bào)邀請(qǐng)碼778899分享:Git版本管理及相關(guān)操作總結(jié)
Git常用操作
Git是開(kāi)源的版本控制系統(tǒng),常用于項(xiàng)目代碼管理,文件管理等場(chǎng)景。
Git的常見(jiàn)操作命令按照操作順序介紹
新建、管理遠(yuǎn)程倉(cāng)庫(kù)克隆、更新本地倉(cāng)庫(kù)副本上傳本地修改、
修改記錄是每次上傳更新的記錄,一個(gè)修改記錄可能包含多個(gè)文件的修改 每個(gè)修改記錄對(duì)應(yīng)唯一的修改記錄id 回滾操作實(shí)際上是新提交一次更新以復(fù)原修改 當(dāng)回滾的修改記錄不是文件的最新修改記錄時(shí),則會(huì)由于修改沖突而失敗 此時(shí)則需要人工修改后提交 分支是一個(gè)遠(yuǎn)程倉(cāng)庫(kù)內(nèi)的多個(gè)獨(dú)立副本,每個(gè)分支都是完全獨(dú)立互不影響的 文件、修改記錄都是單獨(dú)存儲(chǔ)的 一個(gè)倉(cāng)庫(kù)默認(rèn)有一個(gè)主分支,默認(rèn)將文件存儲(chǔ)到主分支 創(chuàng)建新分支基于某個(gè)修改記錄、某個(gè)分支、某個(gè)tag 一個(gè)分支的多次修改可一次性更新到別的分支,稱為合并(merge),實(shí)際上是對(duì)目標(biāo)分支提交一次新修改 但是可能會(huì)由于修改沖突而失敗(目標(biāo)分支也修改了相同文件),此時(shí)需要人工修改更新到目標(biāo)分支。
? tag是一個(gè)標(biāo)識(shí),用于標(biāo)記基于某個(gè)修改記錄歸檔對(duì)應(yīng)分支下截止到此次修改及之前的文件方便版本迭代理。
? tag是一個(gè)標(biāo)識(shí),不允許更新文件
? 分支是獨(dú)立副本,允許更新文件
git可對(duì)倉(cāng)庫(kù)進(jìn)行用用戶權(quán)限設(shè)置,包括查看、文件修改、倉(cāng)庫(kù)管理等權(quán)限。 克隆遠(yuǎn)程倉(cāng)庫(kù),將遠(yuǎn)程倉(cāng)庫(kù)文件克隆到本地倉(cāng)庫(kù)副本 遠(yuǎn)程倉(cāng)庫(kù)文件也可直接進(jìn)行壓縮包下載,但是不支持后續(xù)的更新、上傳操作。 切換分支,本地倉(cāng)庫(kù)的副本的文件會(huì)一并改變 默認(rèn)情況下,克隆的是遠(yuǎn)程倉(cāng)庫(kù)的主分支 當(dāng)前倉(cāng)庫(kù)副本中的文件被修改了且未提交的情況下 則不允許切換分支, 如果需要使用一個(gè)遠(yuǎn)程倉(cāng)庫(kù)的多個(gè)分支的代碼,推薦克隆多個(gè)本地倉(cāng)庫(kù)副本 克隆指定分支的命令:git clone --branch [目標(biāo)分支名] [http克隆地址] [指定目錄](méi) 遠(yuǎn)程倉(cāng)庫(kù)文件發(fā)生變化,可通過(guò)更新操作更新本地倉(cāng)庫(kù)副本 命令行工具示例 cd [目標(biāo)倉(cāng)庫(kù)副本目錄](méi) git pull 當(dāng)前倉(cāng)庫(kù)副本中的文件被修改了且未提交的情況下,不允許切換分支 如果需要使用一個(gè)遠(yuǎn)程倉(cāng)庫(kù)的多個(gè)分支的代碼,推薦克隆多個(gè)本地倉(cāng)庫(kù)副本 克隆指定分支的命令:git clone --branch [目標(biāo)分支名] [http克隆地址] [指定目錄](méi) 更新本地倉(cāng)庫(kù)副本時(shí),恰巧需要更新的文件本地也修改了,則發(fā)生更新沖突而更新失敗
對(duì)本地倉(cāng)庫(kù)副本中的文件修改完成后,需要手動(dòng)上傳到遠(yuǎn)程倉(cāng)庫(kù)才能同步
上傳操作一般分為三步:
添加文件到暫存區(qū)提交暫存區(qū)到本地倉(cāng)庫(kù)上傳遠(yuǎn)程倉(cāng)庫(kù)
提交文件到暫存區(qū),指定哪些被修改的文件為此次上傳的內(nèi)容 Git認(rèn)為空文件夾是無(wú)效的,當(dāng)然也不會(huì)上傳,如果我們需要上傳文件,需要再空文件夾中添加.gitkeep文件 Git對(duì)文件名的大小寫(xiě)不敏感 將文件名從config改成CONFIG,Git不認(rèn)為這是一次更新 需要用戶手動(dòng)刪除文件并上傳同步后,再重新添加文件再上傳同步 提交本地倉(cāng)庫(kù),將暫存區(qū)的修改內(nèi)容打包成一次更新 提交本地倉(cāng)庫(kù)需要填寫(xiě)更新日志 提交本地修改,不會(huì)同步到遠(yuǎn)程倉(cāng)庫(kù) 只記錄會(huì)將修改記錄在本地倉(cāng)庫(kù)副本的.git文件夾中 用戶可以多次添加文件到暫存區(qū)-提交本地倉(cāng)庫(kù),以根據(jù)不同修改目的記錄多次更新,填寫(xiě)多個(gè)更新日志 提交遠(yuǎn)程倉(cāng)庫(kù),將本地倉(cāng)庫(kù)的修改同步到遠(yuǎn)程倉(cāng)庫(kù),可以一致性將多個(gè)本地倉(cāng)庫(kù)修改同步到遠(yuǎn)程倉(cāng)庫(kù) 上傳遠(yuǎn)程倉(cāng)庫(kù),要求本地放倉(cāng)庫(kù)副本為遠(yuǎn)程倉(cāng)庫(kù)最新版本 如果沒(méi)有更新沖突,則再次提交即可 如果發(fā)生更新沖突,恰巧本地修改的文件在遠(yuǎn)程倉(cāng)庫(kù)中也被修改了
撤銷本地倉(cāng)庫(kù)提交,git命令行工具示例:git reser origin解決更新沖突再重新提交上傳 如果需要忽略更新沖突,可以強(qiáng)制上傳遠(yuǎn)程倉(cāng)庫(kù),但是這樣會(huì)造成更新覆蓋,造成團(tuán)隊(duì)代碼覆蓋,把別人的代碼給弄沒(méi)了。 git config --global user.name "Teacher Egg" //配置git相關(guān)
git config --global user.email "598621220@qq.com"
git init //初始化完成以后可以看到在文件夾里多了.git文件夾
git status //獲取git狀態(tài)
git add
git commit
git log
.gitignore //忽略相關(guān)文件
git branch bad-boy //創(chuàng)建新的分支
git branch //查看分支
git checkout bad-boy //進(jìn)入所選分支
git merge //把別的分支合并到當(dāng)前所處的分支
git remote
git push
git fetch
git diff
柚子快報(bào)邀請(qǐng)碼778899分享:Git版本管理及相關(guān)操作總結(jié)
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。