這篇文章主要介紹“Git原理和常用命令有哪些”,在日常操作中,相信很多人在Git原理和常用命令有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Git原理和常用命令有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)始終堅持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)十多年累計超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)整合營銷推廣解決方案,現(xiàn)已廣泛運用于各行各業(yè)的客戶,其中包括:雨棚定制等企業(yè),備受客戶認(rèn)可。
Git是什么
從一般開發(fā)者的角度來看,git有以下功能:
1、從服務(wù)器上克隆完整的Git倉庫(包括代碼和版本信息)到單機(jī)上。
2、在自己的機(jī)器上根據(jù)不同的開發(fā)目的,創(chuàng)建分支,修改代碼。
3、在單機(jī)上自己創(chuàng)建的分支上提交代碼。
4、在單機(jī)上合并分支。
5、把服務(wù)器上最新版的代碼fetch下來,然后跟自己的主分支合并。
6、生成補(bǔ)?。╬atch),把補(bǔ)丁發(fā)送給主開發(fā)者。
7、看主開發(fā)者的反饋,如果主開發(fā)者發(fā)現(xiàn)兩個一般開發(fā)者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發(fā)者可以自己解決,或者沒有沖突,就通過。
8、一般開發(fā)者之間解決沖突的方法,開發(fā)者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發(fā)者提交補(bǔ)丁。
就是你在電腦里能看到的目錄,開發(fā)時候所在目錄或文件夾。當(dāng)我們新建目錄或者文件夾時的內(nèi)容都放在工作區(qū)。
工作區(qū)有一個隱藏目錄.git
,這個不算工作區(qū),而是Git的版本庫。
Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),還有Git為我們自動創(chuàng)建的第一個分支master
,以及指向master
的一個指針叫HEAD
。大致結(jié)構(gòu)如下:
我們把文件往Git版本庫里添加的時候,是分兩步執(zhí)行的:
第一步是用git add
把文件添加進(jìn)去,實際上就是把文件修改添加到暫存區(qū)(被版本庫索引);
第二步是用git commit
提交更改,實際上就是把暫存區(qū)的所有內(nèi)容提交到當(dāng)前分支。
因為我們創(chuàng)建Git版本庫時,Git自動為我們創(chuàng)建了唯一一個master
分支,所以,現(xiàn)在,git commit
就是往master
分支上提交更改。
遠(yuǎn)程相關(guān):
git remote add origin git://xxx 關(guān)聯(lián)遠(yuǎn)程分支,其中origin 為遠(yuǎn)程倉庫的別名
git remote remove origin 解除分支關(guān)聯(lián)
push相關(guān)操作:
git push origin <本地分支>:<遠(yuǎn)程分支>
git push -u origin master // 默認(rèn)情況下這條語句等價于提交本地的master倉庫到遠(yuǎn)程倉庫,并作為遠(yuǎn)程的master分支
git push origin test:test // 提交本地test分支作為遠(yuǎn)程的test分支
git push origin test:master // 提交本地test分支作為遠(yuǎn)程的master分支
pull相關(guān)命令
git pull origin <遠(yuǎn)程分支>:<本地分支>
git pull origin next:master //將遠(yuǎn)程next分支與本地master分支合并
git pull origin next //將遠(yuǎn)程next分支與當(dāng)前所在分支合并
git pull origin //當(dāng)前分支與遠(yuǎn)程分支存在追蹤關(guān)系,git pull
就可以省略遠(yuǎn)程分支名
其他:
git checkout -b dev //創(chuàng)建并切換到dev分支
git merge dev //合并dev分支到當(dāng)前分支
git checkout dev //切換到dev分支
git branch dev //創(chuàng)建dev 分支
常見場景:
1. 將此次修改提交到bugfix分支后,也需要提交到dev分支。則切換到dev分支執(zhí)行以下命令:
git cherry-pick commitid // 將某個分支的提交再次在當(dāng)前分支提交。也可以在同一分支執(zhí)行
git cherry-pick commitid1 .. commitid1 // 將某個分支的commitid1 與commitid1之間的提交再次在當(dāng)前分支提交。
2. 在當(dāng)前分支A修改代碼到一半,又需要立馬切到另一個分支B解決棘手問題,又不想先提交分支A的代碼。如果強(qiáng)制切到B分支,則A分支的修改會被丟棄。使用stash可以將當(dāng)前修改緩存起來:
git stash save "xxx" //給當(dāng)前緩存內(nèi)容取名“xxx”,便于記錄版本
注意:默認(rèn)將暫存和未暫存(被索引)的文件緩存起來。
git stash list // 查看所有緩存內(nèi)容
git stash pop/apply //pop將緩存棧頂彈出并應(yīng)用到當(dāng)前分支,apply將緩存棧頂應(yīng)用到當(dāng)前分支,不彈出
git stash pop/apply stash@103 //應(yīng)用指定緩存內(nèi)容
git stash clear // 清除所有緩存
git stash drop stash@104 //刪除指定緩存,默認(rèn)棧頂
https://my.oschina.net/woniuyi/blog/3103613
到此,關(guān)于“Git原理和常用命令有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享文章:Git原理和常用命令有哪些
網(wǎng)站地址:http://weahome.cn/article/jjgege.html