git-常用操作匯總-創(chuàng)新互聯(lián)

遠(yuǎn)程倉庫相關(guān)命令

目前成都創(chuàng)新互聯(lián)已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運(yùn)營、企業(yè)網(wǎng)站設(shè)計、永寧網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
檢出倉庫:$ git@192.168.1.102:yaoxiabing/saltstack.git
查看遠(yuǎn)程倉庫:$ git remote -v
添加遠(yuǎn)程倉庫:$ git remote add [name] [url]
刪除遠(yuǎn)程倉庫:$ git remote rm [name]
修改遠(yuǎn)程倉庫:$ git remote set-url --push [name] [newUrl]
拉取遠(yuǎn)程倉庫:$ git pull [remoteName] [localBranchName]
推送遠(yuǎn)程倉庫:$ git push [remoteName] [localBranchName]

分支(branch)操作相關(guān)命令


查看本地分支:$ git branch
查看遠(yuǎn)程分支:$ git branch -r
創(chuàng)建本地分支:$ git branch [name] ----注意新分支創(chuàng)建后不會自動切換為當(dāng)前分支
切換分支:$ git checkout [name]
創(chuàng)建新分支并立即切換到新分支:$ git checkout -b [name]
刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經(jīng)參與了合并的分支,對于未有合并的分支是無法刪除的。如果想強(qiáng)制刪除一個分支,可以使用-D選項
合并分支:$ git merge [name] ----將名稱為[name]的分支與當(dāng)前分支合并
創(chuàng)建遠(yuǎn)程分支:$ git push origin [name]
刪除遠(yuǎn)程分支:$ git push origin :heads/[name] 或 $ git push origin :[name]  如:[root@centos7 saltstack]# git push origin --delete 123  # 刪除遠(yuǎn)程分支

發(fā)現(xiàn)有人總結(jié)得不錯,就直接引用了。http://blog.chinaunix.net/uid-9398085-id-3164754.html

標(biāo)簽(tag)操作相關(guān)命令

創(chuàng)建遠(yuǎn)程標(biāo)簽:$ git push origin 標(biāo)簽名
刪除遠(yuǎn)程標(biāo)簽:$ git push origin :refs/tags/標(biāo)簽名 
列出標(biāo)簽:$ git tag -l
刪除本地標(biāo)簽:$ git tag -d 標(biāo)簽名

example1 : 把本地的某個分支origin2提交到遠(yuǎn)程倉庫,并作為遠(yuǎn)程倉庫的master分支,或者作為名叫123的分支


[root@centos7 saltstack]# git branch origin2   # 創(chuàng)建一個本地分支origin2
[root@centos7 saltstack]# git push origin origin2:123   # 提交本地origin2分支作為遠(yuǎn)程的123分支
[root@centos7 saltstack]# git push origin origin2:master   # 提交本地origin2分支作為遠(yuǎn)程的master分支

example2:  刪除不對應(yīng)遠(yuǎn)程分支的本地分支


[root@centos7 saltstack]# git fetch -p # 在fetch之后刪除掉沒有與遠(yuǎn)程分支對應(yīng)的本地分支 -p:是prune 修剪的意思

example3:  手誤rm刪除本地倉庫的某個文件,使用git checkout -- <file>可以恢復(fù)

[root@centos7 saltstack]# ll
total 24
drwxr-xr-x 4 root root    37 Oct 30 23:27 config
-rw-r--r-- 1 root root   555 Oct 30 23:27 config.ini
-rw-r--r-- 1 root root 13157 Oct 30 23:27 fabfile.py
-rw-r--r-- 1 root root    38 Oct 30 23:31 README
drwxr-xr-x 4 root root    37 Oct 30 23:27 template
[root@centos7 saltstack]# rm README -f
[root@centos7 saltstack]# ll
total 20
drwxr-xr-x 4 root root    37 Oct 30 23:27 config
-rw-r--r-- 1 root root   555 Oct 30 23:27 config.ini
-rw-r--r-- 1 root root 13157 Oct 30 23:27 fabfile.py
drwxr-xr-x 4 root root    37 Oct 30 23:27 template
[root@centos7 saltstack]# git checkout -- README
[root@centos7 saltstack]# ll
total 24
drwxr-xr-x 4 root root    37 Oct 30 23:27 config
-rw-r--r-- 1 root root   555 Oct 30 23:27 config.ini
-rw-r--r-- 1 root root 13157 Oct 30 23:27 fabfile.py
-rw-r--r-- 1 root root    38 Oct 30 23:35 README
drwxr-xr-x 4 root root    37 Oct 30 23:27 template

example4:  使用rm(沒使用git rm)刪除某個文件,git commit -a強(qiáng)制提交


[root@centos7 saltstack]# ls
config  config.ini  fabfile.py  README  template
[root@centos7 saltstack]# 
[root@centos7 saltstack]# 
[root@centos7 saltstack]# rm README -f
[root@centos7 saltstack]# git commit -a -m "for test"
[root@centos7 saltstack]# git push
[root@centos7 saltstack]# ll
total 20
drwxr-xr-x 4 root root    37 Oct 30 23:27 config
-rw-r--r-- 1 root root   555 Oct 30 23:27 config.ini
-rw-r--r-- 1 root root 13157 Oct 30 23:27 fabfile.py
drwxr-xr-x 4 root root    37 Oct 30 23:27 template

example5:使用git rm -rf強(qiáng)制刪除某個目錄后,使用git reset回退。


git reset [--hard|soft|mixed|merge|keep] [commit或HEAD],根據(jù)--soft --mixed --hard,會對working directory、index、HEAD進(jìn)行重置。
A). --hard:除了“Untracked files”,其他變更都被重置。即:重設(shè)index和working directory,自從commit以來在working directory和index中的任何改變都被丟棄,并把HEAD指向commit。 
B). --soft:這個模式的效果是,執(zhí)行完畢后,自從commit以來的所有改變都會顯示在git status的"Changes to be committed"中,當(dāng)然,還有“Untracked files”。即:恢復(fù)commit以來的index和working directory內(nèi)容。即:not commited 
C). --mixed:這個模式是默認(rèn)模式。這個模式的效果是,自從commit以來的修改都會被保留,但會被標(biāo)記成"Changes not staged for commit"。即:僅重置index,文件修改被轉(zhuǎn)移到working directory中。即:not added
(來自某大神的博客:http://lingxiankong.github.io/blog/2014/07/18/git-notes/)

example6:  如何判斷分支tracking了沒?

git的tracking就是把來源和目標(biāo)綁定在一起,tracking只能一對一。
git push -u origin master 這時所在的分支就已經(jīng) tracking to origin/master 了,-u 就是這個用處。

查看.git/config配置文件也可以看出來
[branch "master"]
remote = origin
merge = refs/heads/master      # 有這個表示是有tracking的,tracking實質(zhì)其實就是pull 的 merge 動作來源

查看提交日志相關(guān)命令

[root@centos7 saltstack]# git blame test.txt  # 查看test.txt這個文件中內(nèi)容每一行提交的作者,最后的提交時間
[root@centos7 saltstack]# git log  # 查看倉庫提交記錄,有幾個常用選項
--oneline:一行顯示每個commit的提交哈希值和提交信息
--graph:在顯示內(nèi)容左邊繪制一張分支拓?fù)鋱D
--all:顯示所有分支
--name-status:簡潔的日志信息,以及修改了哪些文件
-5:顯示5個commit記錄

git高級命令使用見:http://www.infoq.com/cn/news/2016/01/12-git-advanced-commands

參考鏈接:http://zengrong.net/post/1746.htm

另外有需要云服務(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ù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)站名稱:git-常用操作匯總-創(chuàng)新互聯(lián)
URL鏈接:http://muchs.cn/article2/ddojoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、企業(yè)網(wǎng)站制作、動態(tài)網(wǎng)站、網(wǎng)站收錄、Google、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)