柚子快報邀請碼778899分享:git使用及github
柚子快報邀請碼778899分享:git使用及github
文章目錄
操作命令基本組成框架在開發(fā)中git分支的重要性
github的使用將本地倉庫關聯(lián)到遠程倉庫將遠程倉庫關聯(lián)到本地和拉取指定分支、切換遠程分支提交本地倉庫到遠程倉庫修改分支名稱
保存當前工作切換分支將別的分支修改轉(zhuǎn)移到自己的分支遠程刪除分支后本地git branch -a依然看得到的問題
強制合并分支拉取遠程所有分支子模塊管理分支開發(fā)步驟強制刪除分支查看不同分支的文件差異查看倉庫信息新增分支操作
命令總結創(chuàng)建當?shù)刈兓峤粴v史分支機構和標簽更新和發(fā)布合并與基礎撤消提交相關更改經(jīng)常提交不要做半成品提交之前的測試代碼寫好的提交信息版本控制不是備份系統(tǒng)使用分支同意工作流程幫助和文檔寫好的提交信息版本控制不是備份系統(tǒng)使用分支同意工作流程幫助和文檔
操作命令
Centos yum -y install git #安裝git 根據(jù)系統(tǒng)來安裝
ubuntu apt install -y git
git --version #看git版本號
配置git環(huán)境
git config --global user.name "名稱" #名稱中間有空格需要加雙引號,沒有則無需加
git config --global user.email 123@qq.com #中間沒有空格所以沒有加
git config --global credential.helper store #用戶名和密碼
git config --global --list #查看剛配置的信息
創(chuàng)建倉庫
git init #創(chuàng)建空倉庫,沒有會自動創(chuàng)建git倉庫 默認是隱藏目錄,用ls -a查看
git init 名稱 #給創(chuàng)建的git倉庫起個名稱
git status #查看狀態(tài)
把文件添加到緩存區(qū),并提交到本地倉庫
git add 文件 #添加到緩存區(qū),等待被提交
git commit -m “說明” #提交到本地倉庫倉庫、不加m會進入vim里面
git commit --amend #如果發(fā)現(xiàn)剛才的注釋寫錯了,用這個來修改并保存即可
git log #查看提交記錄
下面是提交記錄的內(nèi)容
commit b9e3a0d708ee5a81ea5ff383c6dabe716eec8cf1 (HEAD -> master)
Author: StephenZhou
Date: Tue Dec 29 12:15:13 2020 +0800
test add new file "test.c"
#后面的head是指向的意思,表示這次提交到哪兒,head->master代表這次提交到master主倉庫,如果是head->分支倉庫則代表提交到分支倉庫
commit b9e3a0d708ee5a81ea5ff383c6dabe716eec8cf1 (HEAD -> master)
#Author是提交者是誰的意思,顯示格式是:用戶名 <郵箱>
Author: StephenZhou
#Date的意思是提交時間,后面的+0800這個是格林尼治時間,代表當前是以哪兒的時間地作為基準,這是世界時間,用它來作為基數(shù)與當前所在地時差進行計算,包括地球自轉(zhuǎn)等公式。
Date: Tue Dec 29 12:15:13 2020 +0800
#最下面的就是注釋了
test add new file "test.c"
#如果提交記錄過多,用--pretty=oneline來簡潔輸出
git log --pretty=oneline
回滾代碼倉庫 git reset --hard
reset參數(shù)是重置命令
–hard是重置代碼倉庫版本
有三種模式
–soft 、–mixed以及–hard是三個恢復等級。
使用–soft就僅僅將頭指針恢復,已經(jīng)add的暫存區(qū)以及工作空間的所有東西都不變。如果使用–mixed,就將頭恢復掉,已經(jīng)add的暫存區(qū)也會丟失掉,工作空間的代碼什么的是不變的。如果使用–hard,那么一切就全都恢復了,頭變,aad的暫存區(qū)消失,代碼什么的也恢復到以前狀態(tài)。
git reset --hard id
#回滾當前倉庫指向的版本
git reset --hard HEAD^ #^代表上一個版本的意思,HEAD代表當前倉庫的指向,當前HEAD指向master,就代表回滾到master上一次提交的版本
git reset --hard HEAD~3 #后面的~3,代表以當前版本為基數(shù),回滾多少次。HEAD~3代表回滾master前三個版本
git rm #刪除文件
#此方法僅限git rm,因為git rm會先將文件放入緩存區(qū),且沒有使用commit提交的情況下
git rm后恢復文件:git rm、git reset、git checkout
#首先使用git rm刪除一個文件
git rm d.c
#在使用git reset重置所有緩存區(qū)操作
git reset
#重置完成之后在使用git checkout命令將文件取消操作
git checkout d.c
git reflog #查看提交歷史,git reflog可以查看當前版本庫的提交歷史,凡是對倉庫版本進行迭代的都會出現(xiàn)在這個里面,包括你回滾版本都會出現(xiàn)在這個歷史中
創(chuàng)建分支:git branch、git checkout
#使用git checkout -b參數(shù)來創(chuàng)建一個分支,創(chuàng)建完成分支后會自動切換過去
git checkout -b dev
#然后我們在使用branch來查看當前屬于哪個分支,也就是查看HEAD的指向
git branch #前面帶*的就是目前在哪個分支下
切換分支:git checkout
#當我們想切換分支可以使用git checkout來切換,如剛剛我們創(chuàng)建了一個分支dev并切換了過去,現(xiàn)在切換回masterk
git checkout master
git branch
合并分支:git merge
#當我們新建分支并做完工作之后,想要把分支提交至master,只需要切換到master倉庫,并執(zhí)行git merge 分支名就可以了
#如我們在分支中新建了一個f.c和test.c的文件
#然后在使用git checkout master切換到master
#在使用git merge dev將其合并
就是說,你現(xiàn)在的分支下提交到本地倉庫里的文件才能合并,沒有提交到本地倉庫無法合并。
git branch -D 分支名 #刪除本地分支
git push origin --delete 文件名 #刪除遠程分支
基本組成框架
Workspace、Index / Stage、Repository、Remote
Workspace:開發(fā)者工作區(qū)Index / Stage:暫存區(qū)/緩存區(qū)Repository:倉庫區(qū)(或本地倉庫)Remote:遠程倉庫
Workspace:開發(fā)者工作區(qū),也就是你當前寫代碼的目錄,它一般保持的是最新倉庫代碼。
Index / Stage:緩存區(qū),最早叫Stage,現(xiàn)在新版本已經(jīng)改成index,位于.git目錄中,它用來存放臨時動作,比如我們做了git add或者git rm,都是把文件提交到緩存區(qū),這是可以撤銷的,然后在通過git commit將緩存區(qū)的內(nèi)容提交到本地倉庫
Repository:倉庫區(qū),是倉庫代碼,你所有的提交都在這里,git會保存好每一個歷史版本,存放在倉庫區(qū),它可以是服務端的也可以是本地的,因為在分布式中,任何人都可以是主倉庫。
Remote:遠程倉庫,只能是別的電腦上的倉庫,即服務器倉庫。
在開發(fā)中git分支的重要性
當我們在開發(fā)中,無論做什么操作都建議使用分支,因為在團隊開發(fā)中,master只有一個,合作開發(fā)里任何人都可以從master里拉取代碼,拉取時master后創(chuàng)建分支,分支名改為你要做的操作,比如修改某某文件,修改什么什么bug,單詞以下劃線做分割,然后在提交一個版本
分支名必須簡潔,和標題一樣,提交的commit在簡單描述一下就可以了。
如我們的master中有個bug,是內(nèi)存泄漏
我們可以常見一個分支名為Memory_Leak,然后在commit里簡單描述一下修復了哪個模塊的內(nèi)存泄漏,不要寫修復了什么什么代碼,什么什么問題導致的,只需要簡單描述一下就可以了。
一般情況下,我們都是拉取master后,想要修改功能或者添加功能,都是創(chuàng)建分支,在分支里修改不影響master,如果修改錯了代碼或者誤刪之類的,在從master上拉取一份就可以了。
github的使用
1.首先到github上注冊一個你的賬號
2.在本地創(chuàng)建一個ssh的key,因為github是使用ssh服務進行通訊的
ssh-keygen -t rsa -C "your_email@example.com"
-t 指定密鑰類型,默認是 rsa ,可以省略。-C 設置注釋文字,比如郵箱。-f 指定密鑰文件存儲文件名,一般我們默認,讓存儲到默認路徑以及默認文件名
它會要求輸入Enter file in which to save the key (/home/stephenzhou/.ssh/id_rsa)
這里是生成的sshkey文件名,我們可以回車使用默認文件名
除此之外還會讓你輸入
Created directory ‘/home/stephenzhou/.ssh’.
Enter passphrase (empty for no passphrase):
這個密碼會在讓你push提交時候要輸入的,除了git登錄密碼,還要輸入這個密碼,直接回車則空密碼,這里我們直接回車
接著會讓你在此輸入密碼,驗證這里依舊回車
Enter same passphrase again:
ls /root/.ssh/
authorized_keys id_rsa id_rsa.pub
#id_rsa是私匙,id_rsa.pub是公匙,id_rsa不能告訴任何人,只有公鑰可以,ssh采用的是非對稱加密。
接著在github上添加你的公鑰
右上角頭像—settings—左邊SSH
你可以添加如很多個ssh,比如你有多臺電腦,在每個電腦上都配置ssh然后添加進來就可以了,git需要這個是要確定你是主人,確定是主人的機器推送的才可以推送到倉庫中,但是你可以創(chuàng)建公開倉庫,別人只能拉取不能推送到這個倉庫中,你可以給其它人權限。
找到你要開放的倉庫,選擇Manage access然后使用invite a cikkaborator添加成員就可以了。
將本地倉庫關聯(lián)到遠程倉庫
git remote add origin
#我們本地有一個倉庫,我們想把它推送到遠程上去,很簡單,我們只需要使用git remote add origin命令就可以了,ongin是github上的倉庫名稱,意思是遠程倉庫的意思。
首先選擇倉庫的code找到github生成的遠程倉庫鏈接
然后關聯(lián)
git remote add origin git@github.com:beiszhihao/test.git
然后使用git push推送到遠程
git push -u origin master
push #將本地倉庫與遠程倉庫合并
-u #將本地倉庫分支與遠程倉庫分支一起合并,就是說將master的分支也提交上去,這樣你就可以在遠程倉庫上看到你在本地倉庫的master中創(chuàng)建了多少分支,不加這個參數(shù)只將當前的master與遠程的合并,沒有分支的歷史記錄,也不能切換分支
origin #遠程倉庫的意思,如果這個倉庫是遠程的那么必須使用這個選項
master #提交本地matser分支倉庫
注意第一次提交ssh會讓你驗證是否來自github
輸入yes就可以了
我們不需要登錄,因為github上的ssh列表里有這臺機器
注意第一次的時候加上-u就可以了,因為我們本地其它可能有很多分支也提交上去,以后只提交最新代碼就可以了git push origin master,不需要在提交其它分支
將遠程倉庫關聯(lián)到本地和拉取指定分支、切換遠程分支
git clone -b分支名 倉庫地址來指定分支
當我們遠程有倉庫時,想要關聯(lián)到本地只需要使用git clone就可以了
新建一個空目錄,不要git init
使用git clone會自動幫我們初始化
鑒于剛剛的,我們上傳的代碼在遠程倉庫中有一個默認的main和master,由于我們最初上傳的分支是master,所以github給我們創(chuàng)建了一個新的分支叫master,并沒有關聯(lián)到mian中,我們拉取時,默認拉取的是main分支
提交本地倉庫到遠程倉庫
git add、git commit、git push
我們修改了master上的分支代碼,然后使用git add提交到緩存區(qū),在使用commit提交到本地倉庫,在使用push推送到遠程就可以了,非常簡單,命令都是我們學過的
修改分支名稱
git branch -m 分支名 新的分支名
保存當前工作切換分支
git stash
在你當前工作區(qū)修改了文件或者其它功能時,你想要切換或者創(chuàng)建到其它分區(qū)是不可能的
我們分支修改了內(nèi)容,想要切換到其它分區(qū)git會終止你這樣操作,為的是防止丟失當前工作區(qū)內(nèi)容。
我們可以使用git stash命令來保存當前工作狀態(tài)
git stash
保存工作狀態(tài)之后可以使用git stash list查看當前存儲了多少工作狀態(tài)
git stash list
那么此時我們就可以切換到其它分支了
當在別的分支做完事情之后,在切換回剛剛的分支,然后在剛剛的分支中將狀態(tài)恢復
git stash pop
一般情況下,我們在修改代碼時,突然來了一個新的需求,讓我們先去做這個需求,但是此時我們正在寫的代碼還沒有完成,是不可以提交的,所以我們先使用git stash保存當前工作狀態(tài),在拉取一個分支去這個分支里面干活,干完活之后回到之前的分支,在將工作內(nèi)容恢復出來繼續(xù)干活
git stash pop會將list保存的列表也給刪除掉
git stash apply 不會刪除列表里的內(nèi)容會默認恢復第一個
如果想恢復指定內(nèi)容可以使用git stash apply list名稱
git stash drop list名稱可以移除指定list
git stash clear 移除所有l(wèi)sit
git stash show 查看棧中最新保存的stash和當前目錄的差異。
注意stash是以棧的方式保存的,先進后出。
準確來說,這個命令的作用就是為了解決git不提交代碼不能切換分支的問題。
將別的分支修改轉(zhuǎn)移到自己的分支
git cherry-pick 分支名
有的時候我們從別的倉庫拉取分支下來,是有bug的分支,但是master修復了,我們分支倉庫沒有修復,但是我們難不成重復master操作去修改這個bug?不不太繁瑣了,我們直接使用cherry-pick命令將改動copy到我們分支上就可以了,這個命令只會將master改動代碼合并到我們分支上,不會修改我們的代碼。
git會檢查master做了哪些修改,然后同步到我們的分支上,此時我們的分支依然是我們自己的代碼,且會生成一個版本倉庫。
做這個操作之前建議提交一次,便于恢復。
使用git cherry-pick 分支名即可合并分支修改,在此之前要保證你倉庫代碼是提交的,才可以進行這個步驟。
其次你可以使用git log查看commit 然后使用git cherry-pick也是可以的,合并分支的指定歷史版本
遠程刪除分支后本地git branch -a依然看得到的問題
git remote
這個問題是因為本地沒有更新分支緩存
可以使用remote命令對遠程倉庫進行操作
使用 git remote show origin命令查看遠程倉庫信息
git remote show origin
如果在里面沒有看到刪除后的分支就代表這個分支在遠程已經(jīng)被刪除了。
使用prune參數(shù)刷新本地分支倉庫
git remote prune origin
強制合并分支
–allow-unrelated-histories
當我們在使用兩個不同的分支時或此分支不是從原生倉庫中分支出來的,想要合并不符合GIT規(guī)則,所以會彈出:fatal: refusing to merge unrelated histories 的錯誤,比如當我們在本地開發(fā)好了,但是并沒有在一開始關聯(lián)遠程倉庫,若想提交就會出現(xiàn)這樣的錯誤,我們先拉取下來以后合并分支在后面加上這條語句就可以了
git merge master --allow-unrelated-histories
拉取遠程所有分支
git fetch
當我們在本地進行開發(fā)時,有時會發(fā)現(xiàn)有些分支看不見
可以使用git fetch把遠程全部分支拉取下來,同時也包括這些分支的倉庫版本,log日志等,這個操作不會進行合并。
git fetch
拉取后結果如下:
也可以拉取指定分支的最新內(nèi)容:
git fetch xxxx
子模塊管理
git submodule
在當我們項目較大的情況下,都會使用模塊化編程,把不同的業(yè)務功能分割成數(shù)個子模塊,git也擁有對子模塊進行管理的方法,submodule,可以使用它來添加子模塊與管理子模塊。
如添加一個子模塊:
git submodule add http://192.168.1.88:7990/scm/wlibold/weye_lib.git
使用如上命令會添加一個子模塊,名為weye_lib的子模塊到自己的倉庫中,這樣我們就可以使用了
在添加時會添加倉庫的最新版本,但是此模塊不會自動更新,需要我們手動更新,當子模塊的倉庫進行了更新,我們需要進到此子模塊的文件夾中執(zhí)行如下命令:
git submodule update
這樣就會自動化更新了模塊到最新版本。
若我們想要使用指定版本的子模塊也可以使用切換版本命令來完成子模塊的版本切換,同時你也可以使用git log命令查看這個子模塊的版本提交。
注意根據(jù)git版本不同的原因,你在添加時可能下來的子模塊是空項目,這個時候可以使用如下命令:
首先進入到克隆下來的子模塊目錄,并執(zhí)行如下命令:
git submodule init
git submodule update
最新的git在使用add添加子模塊時會自動使用這兩個命令。
這兩個命令作用分別是初始化子模塊倉庫,更新遠程子模塊倉庫到本地,最早的git添加子模塊只是先在本地生成了映射關系,需要手動執(zhí)行這兩個命令。
最后別忘記使用git add與git commit提交一次。
在提醒一下,若你使用的子模塊版本是0.17,最新版本是2.13,當別人拉取你倉庫時子模塊也會是0.17不會變動。
分支開發(fā)步驟
一般情況下我們開發(fā)都要在不擾亂master代碼的情況下進行開發(fā)
1.拉取分支,分支名簡明摘要說要干什么,然后干活,在合并到master,合并之后在刪除分支,這是基本步驟,不需要留額外分支,分支只是為了將來看代碼時方便而已,能看到這個分支是干什么的。
強制刪除分支
git branch -D
如果遇到無法刪除的分支可以使用git branch -D 大寫的D即可。
查看不同分支的文件差異
git diff
查看倉庫信息
git remote
使用git remote可以查看當前倉庫名稱
git remote
使用remote -v可以查看更詳細的權限信息
fetch代表可以拉取倉庫,push代表可以推送。
如果沒有權限只能拉取的情況下不會顯示push。
git查看日志簡潔方法:git log
git log --graph --pretty=oneline --abbrev-commit
注意前面的字符串是有效的,你可以用它來切換版本或者合并分支。
新增分支操作
git switch、git restore
這兩個命令是git 2.23以后引入的命令,目的是為了提供對新手更友好的分支操作,最早我們使用的是git checkout命令來對分支進行操作,這個命令相對于復雜了許多,使用很多子參數(shù)來進行操作,為此git新增了兩個命令:switch、restore,switch是用來切換分支與新增分支的,而restore用來撤銷文件的修改,使其變得更明確一點
切換分支:
git switch dev
注意如果分支不存在,是不會創(chuàng)建的
切換到commit ID:
切換到指定id并創(chuàng)建一個分支,我們稱之為分離HEAD狀態(tài)
git switch -d f8c540805b7e16753c65619ca3d7514178353f39
只需要加上-d參數(shù)就可以了,而checkout是不需要加-d的,在switch里一切變得明確了很多
如果要合并一個分支必須加上-b
git switch -b dev
創(chuàng)建分支則是-c
git switch -c dev
git restore命令是用來撤銷提交與修改的,如:
git restore file
使用這條命令會將文件從暫存區(qū)刪除
git restore file
這條命令會不會將文件從暫存區(qū)里刪除,會將文件在暫存區(qū)里的狀態(tài)覆蓋到工作區(qū),如我在工作區(qū)對這個文件又進行了修改,那么使用這個命令可以將這個文件在暫存區(qū)里的內(nèi)容恢復到工作區(qū)
命令總結
創(chuàng)建
#克隆現(xiàn)有存儲庫 git clone ssh://user@domain.com/repo.git #創(chuàng)建一個新的本地存儲庫 git init
當?shù)刈兓?/p>
#工作目錄中已更改的文件
git status
#跟蹤文件的更改
git diff
#將所有當前更改添加到下一個提交
git add .
#在中添加一些更改到下一次提交
git add -p
#提交跟蹤文件中的所有本地更改
git commit -a
#提交先前進行的更改
git commit
#更改最后一次提交
#不要修改已發(fā)布的提交!
git commit --amend
提交歷史
#顯示所有提交,從最新開始
git log
#顯示特定文件隨時間的變化e
git log -p
#誰更改了中的內(nèi)容和時間
git blame
分支機構和標簽
#列出所有現(xiàn)有分支
git branch -av
#切換HEAD分支
git checkout
#根據(jù)您當前的HEAD創(chuàng)建一個新分支
git branch
#基于遠程分支創(chuàng)建一個新的跟蹤分支
git checkout --track
#刪除本地分支
git branch -d
#用標簽標記當前提交
git tag
更新和發(fā)布
#列出所有當前配置的遙控器
git remote -v
#顯示有關遙控器的信息
git remote show
#添加名為的新遠程存儲庫
git remote add
#從下載所有更改,但不要集成到HEAD中
git fetch
#下載更改并直接合并/集成到HEAD中
git pull
#在遠程上發(fā)布本地更改
git push
#刪除遙控器上的分支
git branch -dr
#發(fā)布標簽
git push --tags
合并與基礎
#將合并到當前HEAD中
git merge
#將當前的HEAD重新設置到 不要重新發(fā)布已發(fā)布的提交!
git rebase
#中止基準
git rebase --abort
#解決沖突后繼續(xù)進行基準
git rebase --continue
#使用您配置的合并工具解決沖突
git mergetool
#使用編輯器手動解決沖突,并(在解決之后)將文件標記為已解決
git add
git rm
撤消
#丟棄工作目錄中的所有本地更改
git reset --hard HEAD
#放棄特定文件中的本地更改
git checkout HEAD
#還原提交(通過產(chǎn)生具有相反更改的新提交)
git revert
#將HEAD指針重置為上一次提交 …并丟棄此后的所有更改
git reset --hard
#…并將所有更改保留為未分階段的更改
git reset
#…并保留未提交的本地更改
git reset --keep
提交相關更改
提交應該是相關更改的包裝。 例如,修復兩個不同的錯誤應產(chǎn)生兩個單獨的提交。 小型提交使其他開發(fā)人員更容易理解更改,并在出現(xiàn)問題時將其回滾。 借助暫存區(qū)等工具以及僅暫存文件部分的功能,Git使得創(chuàng)建非常精細的提交變得容易。
經(jīng)常提交
提交通常會使您的提交變小,并且再次幫助您僅提交相關的更改。 而且,它使您可以更頻繁地與他人共享代碼。 這樣,每個人都可以更輕松地定期集成更改,避免合并沖突。 相比之下,大型提交很少且很少共享,因此很難解決沖突。
不要做半成品
您只應在完成代碼后提交代碼。 這并不意味著您在提交之前必須先完成一個完整的大型功能。 恰恰相反:將功能的實現(xiàn)分成邏輯塊,并記住提早并經(jīng)常提交。 但是,不要承諾在一天結束離開辦公室之前在存儲庫中存放一些東西。 如果您只是因為需要干凈的工作副本(來簽出分支,進行更改等)而打算提交,請考慮改用Git的“隱藏”功能。
提交之前的測試代碼
抵制誘惑,以完成您“認為”的事情。 對其進行徹底的測試,以確保它確實完成并且沒有副作用(據(jù)人們所知)。 雖然只需要原諒自己在本地存儲庫中提交的東西,但是在與他人推送/共享代碼時,測試代碼就顯得尤為重要。
寫好的提交信息
首先以簡短的更改摘要(最多50個字符為準則)開始您的消息。 通過包含空白行將其與后續(xù)正文分開。 郵件正文應提供以下問題的詳細答案:
?改變的動機是什么?
?它與以前的實現(xiàn)有何不同?
使用命令式現(xiàn)在時態(tài)(“ change”,而不是“ changed”或“ changes”)與git merge等命令生成的消息保持一致。
版本控制不是備份系統(tǒng)
將文件備份到遠程服務器上是擁有版本控制系統(tǒng)的一個很好的副作用。 但是,您不應像將其用作備份系統(tǒng)那樣使用VCS。 在進行版本控制時,您應注意語義上的提交(請參閱“相關更改”)-您不應該只是在文件中塞入。
使用分支
分支是Git最強大的功能之一-并不是偶然的:從一開始,快速便捷的分支就成為了中心需求。 分支是完美的工具,可幫助您避免混淆不同的開發(fā)路線。 您應該在開發(fā)工作流程中廣泛使用分支:有關新功能,錯誤修復,想法…
同意工作流程
Git讓您從許多不同的工作流程中進行選擇:長期運行的分支,主題分支,合并或重新設置,git-flow…您選擇哪個取決于兩個因素:項目,整體開發(fā)和部署工作流程以及(也許 最重要的是),以了解您和您的隊友的個人喜好。 無論您選擇工作,只要確保在每個人都遵循的通用工作流程上達成一致即可。
幫助和文檔
在命令行獲取幫助
$ git help
成您“認為”的事情。 對其進行徹底的測試,以確保它確實完成并且沒有副作用(據(jù)人們所知)。 雖然只需要原諒自己在本地存儲庫中提交的東西,但是在與他人推送/共享代碼時,測試代碼就顯得尤為重要。
寫好的提交信息
首先以簡短的更改摘要(最多50個字符為準則)開始您的消息。 通過包含空白行將其與后續(xù)正文分開。 郵件正文應提供以下問題的詳細答案:
?改變的動機是什么?
?它與以前的實現(xiàn)有何不同?
使用命令式現(xiàn)在時態(tài)(“ change”,而不是“ changed”或“ changes”)與git merge等命令生成的消息保持一致。
版本控制不是備份系統(tǒng)
將文件備份到遠程服務器上是擁有版本控制系統(tǒng)的一個很好的副作用。 但是,您不應像將其用作備份系統(tǒng)那樣使用VCS。 在進行版本控制時,您應注意語義上的提交(請參閱“相關更改”)-您不應該只是在文件中塞入。
使用分支
分支是Git最強大的功能之一-并不是偶然的:從一開始,快速便捷的分支就成為了中心需求。 分支是完美的工具,可幫助您避免混淆不同的開發(fā)路線。 您應該在開發(fā)工作流程中廣泛使用分支:有關新功能,錯誤修復,想法…
同意工作流程
Git讓您從許多不同的工作流程中進行選擇:長期運行的分支,主題分支,合并或重新設置,git-flow…您選擇哪個取決于兩個因素:項目,整體開發(fā)和部署工作流程以及(也許 最重要的是),以了解您和您的隊友的個人喜好。 無論您選擇工作,只要確保在每個人都遵循的通用工作流程上達成一致即可。
幫助和文檔
在命令行獲取幫助
$ git help
參考文檔:https://blog.csdn.net/bjbz_cxy/article/details/116703787?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171556069016800215027741%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=171556069016800215027741&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-116703787-null-null.142v100pc_search_result_base2&utm_term=git&spm=1018.2226.3001.4187
柚子快報邀請碼778899分享:git使用及github
推薦鏈接
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。