亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Git常用操作命令及舉例說明

2019-11-10 18:23:13
字體:
來源:轉載
供稿:網友

[ [ [轉載] http://blog.csdn.net/techbirds_bao/article/details/9179853

Git 倉庫就是那個.git 目錄,其中存放的是我們所提交的文檔索引內容,Git 可基于文檔索引內容對其所管理的文檔進行內容追蹤,從而實現文檔的版本控制。.git目錄位于工作目錄內。 對于任何一個文件,在 Git 內都只有三種狀態:已修改(modified),已暫存(staged)和已提交(committed)。

Git的三種狀態:

1.Change(Unstaged):你改動了一個,沒有調用任何git命令前,就是這種狀態。2.Staged暫存區:調用git add或者git commit -a之后,進入Staged狀態,表示申明要變動了。3.Committed:Commit,生成新的版本commit號,進入此狀態。

常見狀態提示:

1.nothing to commit (working directory clean): 所有已跟蹤文件在上次提交后都未被更改過2.Untracked files: 未跟蹤文件3.Changes to be committed: 已跟蹤文件(在添加add命令之后的文件與修改后又添加add命令之后的文件)4.Changes not staged for commit:已跟蹤文件的內容發生了變化,但還沒有放到暫存區,這樣狀態的文件即使Commit上去也只是Commit暫存區的版本而不是改文件最新版本

若編輯修改已暫存的文件,后運行git status會出現暫存前后的兩個版本(Change和Staged),若此時Commit,則只會同步已暫存(Staged)的那個版本,而不會同步暫存后修改的部分。若要同步暫存后修改的部分,應重新add該文件。

提交時記錄的是放在暫存區域的快照,任何還未暫存的仍然保持已修改狀態,可以在下次提交時納入版本管理。

在 Git 中,HEAD是一個指向你正在工作中的本地分支的指針(將 HEAD 想象為當前分支的別名。)

任何包含未解決沖突的文件都會以未合并(unmerged)的狀態列出。可以使用git mergetool使用圖形工具引導合并解決沖突。

1、 遠程倉庫相關命令

檢出倉庫:$ git clone git://github.com/jquery/jquery.git查看遠程倉庫:$ git remote -v添加遠程倉庫:$ git remote add [name] [url]刪除遠程倉庫:$ git remote rm [name]修改遠程倉庫:$ git remote set-url --push[name][newUrl]拉取遠程倉庫:$ git pull [remoteName] [localBranchName]推送遠程倉庫:$ git push [remoteName] [localBranchName]

[舉例] 1)、 為PD-based-on-pc項目新建一個遠程origin倉庫

$ git remote add origin git@git.coding.net:Yunpentium/PD-based-on-pc.git

2)、 把本地master分支的內容推送到遠程的origin倉庫

$ git push origin master

2、分支(branch)操作相關命令

查看本地分支:$ git branch查看遠程分支:$ git branch -r創建本地分支:$ git branch [name] //注意新分支創建后不會自動切換為當前分支切換分支:$ git checkout [name]切換分支(到下一個):$ git checkout -創建新分支并立即切換到新分支:$ git checkout -b [name]刪除分支:$ git branch -d [name] ---- -d選項只能刪除已經參與了合并的分支,對于未有合并的分支是無法刪除的。如果想強制刪除一個分支,可以使用-D選項合并分支:$ git merge [name] ----將名稱為[name]的分支與當前分支合并本地分支push到遠程分支(簡寫):$ git push origin [name] //本地和遠程分支名稱都是name本地分支push到遠程分支(全寫):git push origin [localBranch]:[remoteBranch]//上邊兩個命令會自動創建遠程分支刪除遠程分支:$ git push origin :heads/[name]

[舉例] 我從本地master分支創建了一個本地issue5560分支,做了一些修改后,使用git push origin master提交,但是顯示的結果卻是’Everything up-to-date’。發生問題的原因是git push origin master中,本地master分支默認指向了遠程的origin/master 分支,所以這里要使用git push origin issue5560:master 就可以指明是把本地的issue5560推送到遠程的origin/master分支了。

如果想把本地的某個分支test提交到遠程倉庫,并作為遠程倉庫的master分支,或者作為另外一個名叫test的分支,那么可以這么做。

$ git push origin test:master // 提交本地test分支作為遠程的master分支 $ git push origin test:test // 提交本地test分支作為遠程的test分支

如果想刪除遠程的分支呢?類似于上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。

$ git push origin :test // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心

3、版本(tag)操作相關命令

Git 使用的標簽有兩種類型:輕量級的(lightweight)和含附注的(annotated)

查看版本:$ git tag創建版本:$ git tag [name]刪除版本:$ git tag -d [name]查看遠程版本:$ git tag -r創建遠程版本(本地版本push到遠程):$ git push origin [name]刪除遠程版本:$ git push origin :refs/tags/[name]

[舉例]

$git tag -a v1.4 -m 'my version 1.4' //新建一個含附注(-a)的標簽$git tag v1.5#新建一個輕量級標簽$git show v1.1 #查看相應標簽的版本信息

4、子模塊(submodule)相關操作命令

添加子模塊:$ git submodule add [url] [path]

如:$ git submodule add git://github.com/soberh/ui-libs.git src/main/webapp/ui-libs

初始化子模塊:$ git submodule init ----只在首次檢出倉庫時運行一次就行更新子模塊:$ git submodule update ----每次更新或切換分支后都需要運行一下刪除子模塊:(分4步走哦)1)$ git rm --cached [path] 2) 編輯“.gitmodules”文件,將子模塊的相關配置節點刪除掉 3) 編輯“.git/config”文件,將子模塊的相關配置節點刪除掉 4) 手動刪除子模塊殘留的目錄 5)忽略一些文件、文件夾不提交在倉庫根目錄下創建名稱為“.gitignore”的文件,寫入不需要的文件夾名或文件,每個元素占一行即可,如targetbin*.db

5、初始化操作

$mkdir folderName #建立名為folderName的文件夾$touch README #創建一個空文件$git init #初始化git倉庫,其實是增加了.git隱藏目錄,把本地目錄變成Git可以管理的倉庫$git clone [URL] //復制遠程分支到本地目錄。還有其它參數選項,下文第8節有講到$git status #查看狀態(一般在commit之前查看當前修改和倉庫里面差別多少;git status -s)

6、Add操作(進入Staged狀態)

運行了 git add 之后又修改了本地文件,需要重新運行 git add 把最新版本重新暫存起來。

add添加到暫存區的文件,git才會監控它的變化。在Unstaged狀態的文件變化并不會在命令行中體現出來。

$ git add octocat.txt //把文件從change->staged狀態(修改現有文件也要git add來修改狀態)$ git add /home/root/aaa/*#(當前目錄下所有的更新)$ git reset HEAD gitTest.txt #取消已add到暫存區的文件(與add執行相反的操作)

7、Commit操作

$git commit -m "Add cute octocat story" //提交到倉庫,必須要一個message說明,–m返回提交時的信息(如果不加-m,則會調用默認編輯器供填寫提交信息說明)$git commit -a -m 'message' //(加上-a參數,把所有已經跟蹤過的文件一次性暫存起來一起提交,這樣不用先git add再git commit,跳過git add步驟)$git commit -m 'initial commit'$git add forgotten_file//上面的三條命令最終只是產生一個提交,第二個提交命令修正了第一個的提交內容.如果提交時忘了暫存某些修改,可以先補上暫存操作,然后再運行 --amend 提交

8、git clone 命令

usage: git clone [options] [–] [

]

-v, --verbose be more verbose-q, --quiet be more quiet--PRogress force progress reporting-n, --no-checkout don't create a checkout--bare create a bare repository--mirror create a mirror repository (implies bare)-l, --local to clone from a local repository--no-hardlinks don't use local hardlinks, always copy-s, --shared setup as shared repository--recursive initialize submodules in the clone--recurse-submodules initialize submodules in the clone--template <template-directory> directory from which templates will be used--reference <repo> reference repository-o, --origin <name> use <name> instead of 'origin' to track upstream-b, --branch <branch> checkout <branch> instead of the remote's HEAD-u, --upload-pack <path> path to git-upload-pack on the remote--depth <depth> create a shallow clone of that depth--separate-git-dir <gitdir> separate git dir from working tree-c, --config <key=value> set config inside the new repository

參數挺多,但常用的就幾個:

1)、最簡單直接的命令

git clone xxx.git

2)、 如果想clone到指定目錄

git clone xxx.git "指定目錄"

3)、 clone時創建新的分支替代默認Origin HEAD(master)

git clone -b [new_branch_name] xxx.git

4)、 clone 遠程分支

  git clone 命令默認的只會建立master分支,如果你想clone指定的某一遠程分支(如:dev)的話,可以如下:

 A. 查看所有分支(包括隱藏的) git branch -a 顯示所有分支,如:    

master remotes/origin/HEAD -> origin/master remotes/origin/dev remotes/origin/master

 B. 在本地新建同名的(“dev”)分支,并切換到該分支

git checkout -t origin/dev 該命令等同于:git checkout -b dev origin/dev

9、查看差異

如果已暫存了所有修改過的文件,后運行git diff會什么都沒有(因為該命令顯示的是當前文件與暫存文件之間的差異)

$git diff//查看文件被修改之后還沒有暫存起來的變化內容,顯示的是與上次暫存文件的差異$git diff test //顯示當前目錄和另一個叫'test'分支的差別$git diff --cached //查看已經暫存起來的文件和上次提交時的快照之間的差異$git diff --staged //同上
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美最新羞羞视频在线观看| 久久精品视频导航| 高清欧美性猛交| 亚洲国产高清福利视频| 亚洲激情免费观看| 高跟丝袜欧美一区| 成人亚洲激情网| 中文字幕成人精品久久不卡| 精品久久久久久久久久久久久| 亚洲欧洲国产伦综合| 国产欧美一区二区三区久久人妖| 久久精品91久久久久久再现| 69久久夜色精品国产69乱青草| 精品久久久久久久久久久久久| 午夜精品一区二区三区在线| 欧美色图在线视频| 亚洲自拍高清视频网站| 欧美猛少妇色xxxxx| 国产精品女主播视频| 美女精品久久久| 久久影视免费观看| 一本大道亚洲视频| 国产精品海角社区在线观看| 亚洲图片在区色| 亚洲专区在线视频| 欧美国产日韩二区| 国产激情视频一区| 欧美中文字幕在线视频| 91精品成人久久| 国内免费精品永久在线视频| 欧美性xxxxx极品娇小| www国产精品com| 欧美日韩免费在线观看| 日韩在线观看你懂的| 国产精品高潮呻吟久久av野狼| 日韩精品免费在线视频观看| 91高潮精品免费porn| 久久久精品电影| 97精品视频在线观看| 欧美高清不卡在线| 91沈先生作品| 亚洲国产欧美久久| 九九九久久国产免费| 欧美午夜精品伦理| 亚洲天天在线日亚洲洲精| 国产精品观看在线亚洲人成网| 成人黄色av播放免费| 成人激情av在线| 福利二区91精品bt7086| 国产精品夜间视频香蕉| 成人福利网站在线观看11| 精品久久久91| 亚洲午夜女主播在线直播| 全亚洲最色的网站在线观看| 国产欧美一区二区白浆黑人| 国产激情综合五月久久| 国产精品视频26uuu| 97视频在线观看免费高清完整版在线观看| 91亚洲va在线va天堂va国| 疯狂欧美牲乱大交777| 亚洲自拍小视频| 亚洲一区二区三区在线免费观看| 中文字幕欧美日韩精品| 久久免费精品视频| 久久成人国产精品| 成人做爽爽免费视频| 亚洲免费高清视频| 国产亚洲一级高清| 日韩中文视频免费在线观看| 亚洲jizzjizz日本少妇| 青青草成人在线| 亚洲精品美女在线观看| 亚洲另类欧美自拍| 亚洲精品456在线播放狼人| 亚洲四色影视在线观看| 国产成人精品一区二区三区| 欧美精品久久一区二区| 久久99青青精品免费观看| 韩国三级电影久久久久久| 日韩av手机在线观看| 成人亲热视频网站| 韩国19禁主播vip福利视频| 97视频网站入口| 日韩69视频在线观看| 色噜噜国产精品视频一区二区| 日韩国产在线看| 亚洲性av在线| 亚洲人成电影网站色xx| 日韩在线播放一区| 欧美性猛交xxxxx免费看| 久久国产视频网站| 久久露脸国产精品| 成人性生交大片免费看视频直播| 国产啪精品视频网站| 欧美成年人视频网站欧美| 亚洲免费小视频| 国产成人精品久久二区二区| 亚洲精品v欧美精品v日韩精品| 91精品国产91久久久久久最新| 国产精品久久久久久久久久久久久久| 一区二区三区美女xx视频| 亚洲男女性事视频| 国产精品扒开腿做爽爽爽的视频| 国产精品对白刺激| 日韩视频在线一区| 久久艳片www.17c.com| 久久综合久久美利坚合众国| 久久久在线观看| 亚洲精品国产精品自产a区红杏吧| 久久理论片午夜琪琪电影网| 日韩精品在线观看一区| 成人欧美一区二区三区在线湿哒哒| 国产+人+亚洲| 精品久久香蕉国产线看观看亚洲| 91精品国产777在线观看| 亚洲色图国产精品| 91国自产精品中文字幕亚洲| 国产精品欧美日韩久久| 国产精品伦子伦免费视频| 91sao在线观看国产| 中文日韩电影网站| 欧美午夜电影在线| 91精品国产综合久久香蕉922| 成人免费视频网| 亚洲欧美999| 另类少妇人与禽zozz0性伦| 国产色婷婷国产综合在线理论片a| 538国产精品一区二区在线| 亚洲精品网址在线观看| 中文字幕日韩在线视频| 伊人伊成久久人综合网站| 日韩在线观看免费全| 日本精品久久久久久久| 91久久精品久久国产性色也91| 国产在线观看精品一区二区三区| 亚洲天堂色网站| 国产精品视频地址| 一本色道久久综合狠狠躁篇的优点| 影音先锋欧美在线资源| 日本久久久久久久| 亚洲伊人久久综合| 久久久国产视频| 亚洲精品永久免费精品| 欧美日韩人人澡狠狠躁视频| 欧美性开放视频| 在线看日韩欧美| 国产在线高清精品| 国产91精品黑色丝袜高跟鞋| 国产精品国产三级国产aⅴ浪潮| 欧美日韩国产va另类| 神马久久桃色视频| 久久精品亚洲热| 亚洲精品成a人在线观看| 国产午夜精品免费一区二区三区| 国内外成人免费激情在线视频网站| 成人亚洲欧美一区二区三区| 日韩成人在线视频网站| 国产91精品不卡视频| 高清欧美性猛交xxxx黑人猛交| 欧美日韩中国免费专区在线看| 欧美在线观看日本一区| 国产精品香蕉在线观看| 久久久av亚洲男天堂| 91精品国产综合久久香蕉922|