Git 是一種分布式版本控制系統(tǒng)
為景東等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及景東網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都做網(wǎng)站、景東網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!創(chuàng)建版本庫
mkdir dirname 新建目錄
cd dirname
git init 把該目錄變成 Git 倉庫
該目錄下有個 .git 隱藏目錄,不要去改這個目錄里的文件
添加文件
git add filename.txt
把文件提交給倉庫
git commit -m "xxx" -m后面輸入的是本次提交的說明
查看倉庫當(dāng)前狀態(tài)
git status
比較修改了什么內(nèi)容
git diff filename.txt
查看提交的歷史
git log 命令顯示從最近到最遠(yuǎn)的提交日志
git log --pretty=oneline 每個版本只輸出一行(commit id 和 提交說明)
查看提交的命令歷史
git reflog
你看到的一大串字符是commit id(版本號)
在Git中,用HEAD表示當(dāng)前版本,上一個版本是HEAD^,上上版本是HEAD^,往上前 n 個版本是 HEAD~n
git reset --hard HEAD^ 回退到上一版本
git reset --hard 版本號 到該commit id 號對應(yīng)的版本 commit id 可以不寫全,但一定要寫到 Git可以區(qū)分的程度
工作區(qū)和暫存區(qū)的概念
dirname 就是一個工作區(qū)
工作區(qū)里的隱藏目錄 .git ,不算工作區(qū),是 Git 的版本庫
Git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區(qū),
還有Git為我們自動創(chuàng)建的第一個分支master,以及指向master的一個指針叫HEAD
git add命令實際上就是把要提交的所有修改放到暫存區(qū)(Stage),然后,執(zhí)行g(shù)it commit就可以一次性把暫存區(qū)的所有修改提交到分支。
Git 管理的是修改。你第一次修改 filename.txt 并執(zhí)行 git add ,把它提交到暫存區(qū),第二次修改 filename.txt 不添加,執(zhí)行 git commit
你會發(fā)現(xiàn)只有第一次的修改被提交了,第二次沒有被提交。 git commit 只負(fù)責(zé)暫存區(qū)中的內(nèi)容
每次修改,如果不add到暫存區(qū),那就不會加入到commit中
撤銷修改
場景1:當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令git checkout -- filename
場景2:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令git reset HEAD filename(HEAD表示最新版本),就回到了場景1,
第二步按場景1操作。
場景3:已經(jīng)提交了不合適的修改到版本庫時,想要撤銷本次提交,回退一個版本。
刪除文件
rm filename
Git 會記錄下來,使用 git status 會告訴你哪些文件被刪除了
如果確實要從版本庫中刪除,用 git rm 刪掉,并且要用 git commit
如果誤刪 用 git checkout -- filename git checkout其實是用版本庫里的版本替換工作區(qū)的版本,無論工作區(qū)是修改還是刪除,都可以“一鍵還原”。
要關(guān)聯(lián)一個遠(yuǎn)程庫,使用命令git remote add origin git@server-name:path/repo-name.git;
關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改
克隆一個倉庫,git clone 倉庫的地址
查看分支:git branch
創(chuàng)建分支:git branch <name>
切換分支:git checkout <name>
創(chuàng)建+切換分支:git checkout -b <name>
合并某分支到當(dāng)前分支:git merge <name>
刪除分支:git branch -d <name>
用git log --graph命令可以看到分支合并圖。
git log --graph --pretty=oneline --abbrev-commit
分支策略
git merge --no-ff -m "merge with no-ff" dev
合并分支 加 --no--ff 表示以普通模式合并,-m 說明,合并后的歷史有分支,能看出來曾經(jīng)做過合并,
通常,合并分支時,如果可能,Git 會使用Fast forward模式,而這種模式合并后看不出曾經(jīng)做過合并。
git stash
把當(dāng)前工作現(xiàn)場儲存起來,以后可以恢復(fù)現(xiàn)場繼續(xù)工作,像快照
git stash list 查看存的工作現(xiàn)場
恢復(fù)工作現(xiàn)場
git stash apply 恢復(fù),恢復(fù)后 stash 內(nèi)容不會刪除,需要用 git stash drop 來刪除
git stash pop ,恢復(fù)的同時把 stash 內(nèi)容也刪除
強(qiáng)制刪除一個沒有被合并過的分支
git branch -D <name>
查看遠(yuǎn)程庫信息,使用git remote -v;
本地新建的分支如果不推送到遠(yuǎn)程,對其他人就是不可見的;
從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交;
在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致;
建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用git branch --set-upstream branch-name origin/branch-name;
從遠(yuǎn)程抓取分支,使用git pull,如果有沖突,要先處理沖突
創(chuàng)建標(biāo)簽
命令git tag <name>用于新建一個標(biāo)簽,默認(rèn)為HEAD,也可以指定一個commit id;
git tag -a <tagname> -m "blablabla..."可以指定標(biāo)簽信息;
git tag -s <tagname> -m "blablabla..."可以用PGP簽名標(biāo)簽;
命令git tag可以查看所有標(biāo)簽。
管理標(biāo)簽
命令git push origin <tagname>可以推送一個本地標(biāo)簽;
命令git push origin --tags可以推送全部未推送過的本地標(biāo)簽;
命令git tag -d <tagname>可以刪除一個本地標(biāo)簽;
命令git push origin :refs/tags/<tagname>可以刪除一個遠(yuǎn)程標(biāo)簽。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞名稱:Git基本命令-創(chuàng)新互聯(lián)
文章起源:http://aaarwkj.com/article36/coihpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站建設(shè)、網(wǎng)站排名、建站公司、品牌網(wǎng)站設(shè)計、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)