經(jīng)營網(wǎng)站需要什么資質(zhì)網(wǎng)站推廣在哪好
一.版本控制器Git
1.版本控制簡單來講可以對每一份代碼版本進(jìn)行復(fù)制保存,保證每一版代碼都可查
2.倉庫的本質(zhì)也是一個文件夾
3.git既是一個客戶端,也是一個服務(wù)器,是一個版本控制器。而gitee和GitHub都是基于git的網(wǎng)站或平臺
4.git的基本操作
git clone 倉庫網(wǎng)址:將遠(yuǎn)端倉庫添加到本地? ? ? ? .git是隱藏的本地倉庫
git add 文件名/.:將指定文件/所有文件添加到倉庫里(注意:此時只是添加到了臨時的暫存區(qū))
git status:查看當(dāng)前狀態(tài)
git log:查看工作日志
git commit:將文件添加到倉庫,但是會被拒絕,此時應(yīng)該采用git commit -m "xxx":寫下備注再添加到倉庫里
git push :將文件提交/同步到遠(yuǎn)端倉庫里
注:在Linux和Windows都可以向遠(yuǎn)端添加文件,若是一方已經(jīng)對文件進(jìn)行修改并提交,另一方提交時會報錯,因為遠(yuǎn)端倉庫里最新的文件沒有同步到現(xiàn)在另一方的文件中(因為文件是同一份),此時需要用戶根據(jù)提示進(jìn)行操作先同步再提交
5.細(xì)節(jié)問題
<1>git提交時只會提交變化的部分
<2>git --version可以查看系統(tǒng)內(nèi)是否安裝git,apt install -y git可以進(jìn)行g(shù)it安裝
<3>git的版本管理只會進(jìn)行管理源文件
<4>.gitignore可對上傳的文件進(jìn)行過濾(按照特定后綴進(jìn)行忽略)
<5>git pull:將遠(yuǎn)端倉庫和本地倉庫同步,用于處理在你之前有人已提交過已修改的文件的情況
<6>遠(yuǎn)端倉庫相比較于任何一方來說都是最新的
二.gdb
前言:Linux下的程序是無法進(jìn)行調(diào)試,因為gcc/g++默認(rèn)是release模式,此時需要多加-g選項,調(diào)至debug模式,生成可執(zhí)行程序再添加調(diào)試信息
1.gdb 可執(zhí)行文件:進(jìn)入調(diào)試模式(注意:此時代碼區(qū)和調(diào)試區(qū)是不在一個界面的,不方便查看,可以使用cgdb)
2.gdb bin:打斷點(diǎn)(注意:只要不退出gdb,斷點(diǎn)編號會一直向下累加)
注:斷點(diǎn)的本質(zhì)是將代碼進(jìn)行區(qū)塊劃分,以塊為單位快速定位區(qū)域
3.在Linux中next/n是逐過程進(jìn)行調(diào)試,step/s是逐語句進(jìn)行調(diào)試(補(bǔ)充:逐過程的話遇見函數(shù)調(diào)用不會進(jìn)入函數(shù)內(nèi)部,逐語句可以進(jìn)入函數(shù)內(nèi)部檢查內(nèi)部執(zhí)行情況)
4.gdb的命令
b 行號/文件名:行號/文件名:函數(shù)? :在xx處打上斷點(diǎn)
d 斷點(diǎn)編號:刪除特定編號的斷點(diǎn)
info b:查看斷點(diǎn)信息? ? ? ?
info locals:查看函數(shù)內(nèi)部所有定義的臨時變量(類似VS調(diào)試中的監(jiān)視窗口)
r:運(yùn)行程序
bt:查看當(dāng)前函數(shù)調(diào)用的棧幀
diable? 斷點(diǎn)編號:關(guān)閉特定編號的斷點(diǎn)(區(qū)別刪除)? ? ? enable 斷點(diǎn)編號:打開特定編號的斷點(diǎn)
finish:確認(rèn)問題是否在函數(shù)內(nèi)部
until:局部區(qū)域快速執(zhí)行
display :查看上下文數(shù)據(jù)? ? undisplay xx:不想看xx內(nèi)容
p 變量/表達(dá)式:查看變量/表達(dá)式
watch:執(zhí)行監(jiān)視某個變量/表達(dá)式的值
set var:確定問題的原因
condition 斷點(diǎn)編號 條件:給特定編號斷點(diǎn)處的語句添加執(zhí)行條件