欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報(bào)邀請(qǐng)碼778899分享:git 常用操作指令

柚子快報(bào)邀請(qǐng)碼778899分享:git 常用操作指令

http://yzkb.51969.com/

文章目錄

git clonegit taggit configgit addgit commitgit stashgit rmgit branch/checkoutgit pull/pushgit rebash/merge多人維護(hù)同一分支解決沖突安全方法

git clone

git clone?可以將一個(gè)遠(yuǎn)程 Git 倉庫拷貝到本地,讓自己能夠查看該項(xiàng)目,或者進(jìn)行修改。

拷貝項(xiàng)目命令格式如下:

git clone [url]

[url]?是你要拷貝的項(xiàng)目。

例如我們拷貝 Github 上的項(xiàng)目:

$ git clone https://github.com/tianqixin/runoob-git-test

Cloning into 'runoob-git-test'...

remote: Enumerating objects: 12, done.

remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12

Unpacking objects: 100% (12/12), done.

git tag

Git 支持兩種標(biāo)簽:

輕量標(biāo)簽(lightweight)附注標(biāo)簽(annotated)

輕量標(biāo)簽(lightweight)

輕量標(biāo)簽本質(zhì)上是將提交校驗(yàn)和存儲(chǔ)到一個(gè)文件中——沒有保存任何其他信息。 創(chuàng)建輕量標(biāo)簽,不需要使用 -a、-s 或 -m 選項(xiàng),只需要提供標(biāo)簽名字:

$ git tag

$ git tag

附注標(biāo)簽(annotated)

創(chuàng)建附注標(biāo)簽,在git tag指定-a ?,-m選項(xiàng)指定存儲(chǔ)在標(biāo)簽中的信息:

git tag -a -m ""

//創(chuàng)建帶有注釋的標(biāo)簽:

$ git tag -a v1.4 -m "my version 1.4"

//列出所有標(biāo)簽:

$ git tag

通過使用 git show 命令可以看到標(biāo)簽信息和與之對(duì)應(yīng)的提交信息:

共享標(biāo)簽

默認(rèn)情況下,git push?命令并不會(huì)傳送標(biāo)簽到遠(yuǎn)程倉庫服務(wù)器上。 在創(chuàng)建完標(biāo)簽后我們必須顯式地推送標(biāo)簽到共享服務(wù)器上。 這個(gè)過程就像共享遠(yuǎn)程分支一樣——你可以運(yùn)行?git push origin 。

$ git push origin

使用--tags選項(xiàng)可以將所有不在遠(yuǎn)程倉庫服務(wù)器上的標(biāo)簽一次性傳送到那里。

$ git push origin --tags

注意:?使用?git push --tags?推送標(biāo)簽并不會(huì)區(qū)分輕量標(biāo)簽和附注標(biāo)簽。

刪掉標(biāo)簽

要?jiǎng)h除掉本地倉庫上的標(biāo)簽,可以使用命令?git tag -d

$ git tag -d

刪除遠(yuǎn)端標(biāo)簽:

git push origin --delete

檢出標(biāo)簽

如果想查看某個(gè)標(biāo)簽所指向的文件版本,可以使用?git checkout?命令, 雖然這會(huì)使我們的倉庫處于“分離頭指針(detached HEAD)”的狀態(tài)——但是這個(gè)狀態(tài)有些副作用:

$ git checkout

?git config

我們可以通過git config來配置用戶名和郵箱地址,便于我們將代碼提交到遠(yuǎn)程倉庫,具體格式如下:

git config --global user.name '你的用戶名'

git config --global user.email '你的郵箱'

git add

git add 命令可將文件添加到緩存,如新項(xiàng)目中,添加所有文件很普遍,可以使用如下命令:

git add .

注意:add有多種形式,可以add某個(gè)文件,某個(gè)文件夾,或直接add當(dāng)前倉庫下所有文件

git add 單個(gè)文件

git add 文件夾1/ 文件夾2/ ……多個(gè)文件夾之間空格隔開

git add .

有時(shí)候我們add之后又改了代碼,所以想重新add,但是之前add但是沒有commit的文件還在,想撤銷怎么辦呢?

git status //查看已經(jīng)add的

git reset . //撤銷命令reset,此處表示撤銷全部

git reset HEAD 命令用于取消已緩存的內(nèi)容,如我們要取消已提交的test.txt文件,可以如下使用:(撤銷單個(gè)文件)

git reset HEAD test.txt

git commit

git commit 將緩存區(qū)內(nèi)容添加到倉庫中,可以在后面加-m選項(xiàng),以在命令行中提供提交注釋,格式如下:

git commit -m "第一次版本提交" //文件從暫存區(qū)提交到版本庫,其中" "內(nèi)是對(duì)應(yīng)提交的注釋

如果你覺得 每次 commit之前要add一下,想跳過add這一步,可以直接使用 -a選項(xiàng),如:

git commit -am "第一次版本提交"

我們可以創(chuàng)建一個(gè)文件,并將它添加打緩存,之后在提交,具體操作如下:

git stash

git stash ///暫存"工作現(xiàn)場"

git stash list //查看保存的工作現(xiàn)場

git stash apply // 恢復(fù)工作現(xiàn)場,但是stash內(nèi)容不刪除,刪除需要 git stash pop

git stash pop //恢復(fù)工作現(xiàn)場的同時(shí)刪除stash內(nèi)容

常用git stash命令:

(1)git stash save "save message" : 執(zhí)行存儲(chǔ)時(shí),添加備注,方便查找,只有g(shù)it stash 也要可以的,但查找時(shí)不方便識(shí)別。

(2)git stash list :查看stash了哪些存儲(chǔ)

(3)git stash show :顯示做了哪些改動(dòng),默認(rèn)show第一個(gè)存儲(chǔ),如果要顯示其他存貯,后面加stash@{$num},比如第二個(gè) git stash show stash@{1}

(4)git stash show -p : 顯示第一個(gè)存儲(chǔ)的改動(dòng),如果想顯示其他存存儲(chǔ),命令:git stash show stash@{$num} -p ,比如第二個(gè):git stash show stash@{1} -p

(5)git stash apply :應(yīng)用某個(gè)存儲(chǔ),但不會(huì)把存儲(chǔ)從存儲(chǔ)列表中刪除,默認(rèn)使用第一個(gè)存儲(chǔ),即stash@{0},如果要使用其他個(gè),git stash apply stash@{$num} , 比如第二個(gè):git stash apply stash@{1}

(6)git stash pop :命令恢復(fù)之前緩存的工作目錄,將緩存堆棧中的對(duì)應(yīng)stash刪除,并將對(duì)應(yīng)修改應(yīng)用到當(dāng)前的工作目錄下,默認(rèn)為第一個(gè)stash,即stash@{0},如果要應(yīng)用并刪除其他stash,命令:git stash pop stash@{$num} ,比如應(yīng)用并刪除第二個(gè):git stash pop stash@{1}

(7)git stash drop stash@{$num} :丟棄stash@{$num}存儲(chǔ),從列表中刪除這個(gè)存儲(chǔ)

(8)git stash clear :刪除所有緩存的stash

總結(jié):

如果要應(yīng)用這些stash,直接使用git stash apply或者git stash pop就可以再次導(dǎo)出來了。

git add 只是把文件加到git 版本控制里,并不等于就被stash起來了,git add和git stash 沒有必然的關(guān)系,但是執(zhí)行g(shù)it stash 能正確存儲(chǔ)的前提是文件必須在git 版本控制中才行。

常規(guī) git stash 的一個(gè)限制是它會(huì)一下暫存所有的文件。有時(shí),只備份某些文件更為方便,讓另外一些與代碼庫保持一致。一個(gè)非常有用的技巧,用來備份部分文件:

add 那些你不想備份的文件(例如: git add file1.js, file2.js)調(diào)用 git stash –keep-index。只會(huì)備份那些沒有被add的文件。調(diào)用 git reset 取消已經(jīng)add的文件的備份,繼續(xù)自己的工作。

git rm

如果只是簡單地從工作目錄中手工刪除文件,運(yùn)行 git status 時(shí)就會(huì)在 Changes not staged for commit 的提示。要從 Git 中移除某個(gè)文件,就必須要從已跟蹤文件清單中移除,然后提交。可以如下使用:

git rm

如果刪除之前修改過并且已經(jīng)放到暫存區(qū)域的話,則必須要用強(qiáng)制刪除選項(xiàng) -f

git rm -f

可以遞歸刪除,即如果后面跟的是一個(gè)目錄做為參數(shù),則會(huì)遞歸刪除整個(gè)目錄中的所有子目錄和文件:

git rm –r *

rm -rf .git/ //強(qiáng)制刪除暫存文件

git branch/checkout

git branch:查看分支命令git branch (branchname):創(chuàng)建分支命令git checkout (branchname):切換分支命令git merge:合并分支命令git branch -d (branchname):刪除分支命令

git branch ? ? ? ? ? ? ? ? ? ? ? ? ? #查看分支 git branch -a ? ? ? ? ? ? ? ? ? ? ? ?#查看所有分支,包括遠(yuǎn)程和本地 git branch name ? ? ? ? ? ? ? ? ? ? ?#創(chuàng)建分支 git checkout name ? ? ? ? ? ? ? ? ? ?#切換分支到name git checkout -b name ? ? ? ? ? ? ? ? #創(chuàng)建一個(gè)新的分支并且立即切換到它 git merge name ? ? ? ? ? ? ? ? ? ? ? #在分支master上合并分支name git branch -d name ? ? ? ? ? ? ? ? ? #刪除本地分支name git push origin --delete name ? ? ? ?#刪除遠(yuǎn)程分支 ? ?

git pull/push

git fetch和git pull的區(qū)別:

git fetch:相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng)合并。 git pull:相當(dāng)于是從遠(yuǎn)程獲取最新版本并merge到本地。 git push git push 推送你的新分支與數(shù)據(jù)到某個(gè)遠(yuǎn)端倉庫命令,格式如下:

更新操作:

$ git pull

$ git pull origin

將遠(yuǎn)程主機(jī) origin 的 master 分支拉取過來,與本地的 brantest 分支合并。

git pull origin master:brantest

如果遠(yuǎn)程分支是與當(dāng)前分支合并,則冒號(hào)后面的部分可以省略。

git pull origin master

git push 命令用于從將本地的分支版本上傳到遠(yuǎn)程并合并。

命令格式如下:

git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>

如果本地分支名與遠(yuǎn)程分支名相同,則可以省略冒號(hào):

git push <遠(yuǎn)程主機(jī)名> <本地分支名>

以下命令將本地的 master 分支推送到 origin 主機(jī)的 master 分支。

$ git push origin master //等價(jià)于$ git push origin master:master

或git push -u origin master

如果origin端還不存在本地分支dev,想將本地分支推送到遠(yuǎn)端可以使用

git push --set-upstream origin dev

刪除主機(jī)的分支可以使用 --delete 參數(shù),以下命令表示刪除 origin 主機(jī)的 master 分支:

git push origin --delete master

git rebash/merge

在開發(fā)中經(jīng)常需要基于一個(gè)分支來創(chuàng)建子分支,然后在子分支上進(jìn)行開發(fā),最后驗(yàn)證功能無問題才會(huì)將子分支合并到主分支上去。將子分支合并到主分支上一般有兩種方案,分別為:

git merge:這種合并會(huì)在對(duì)應(yīng)的主分支上產(chǎn)生合并的提交,以及對(duì)應(yīng)子分支的提交情況。git rebase:這種合并是變基的操作,相當(dāng)于將子分支的 commit 直接提交到主分支上,此時(shí)主分支上不會(huì)有合并記錄和對(duì)應(yīng)子分支的提交情況,看起來比較清爽。

現(xiàn)將子分支?dev?的代碼以git rebase的方式合并到主分支?main上且不要留下合并的記錄,此時(shí)相當(dāng)于將子分支的所有?commit?提交到當(dāng)前的主分支上。如下:B?,?C為主分支上的提交,D,?E?為子分支的提交,現(xiàn)在要將子分支的兩筆?commit?合并到主分支上。

?初始時(shí)狀態(tài):

對(duì)子分支?dev?進(jìn)行g(shù)it rebase?之后,子分支的 commit 就被合并到主分支上,此時(shí)主分支的提交記錄如下圖所示:

git rebase?流程

# 1. 切換到主分支 main 上,其它分支的代碼將被合并到該分支上

git checkout main

# 2. 變基操作,對(duì)子分支 dev 進(jìn)行變基操作,相當(dāng)于將其所有的 commit 都提交到主分支(當(dāng)前所在的分支)上去

git rebase dev

# 3. 變基操作成功后,此時(shí)主分支上的代碼選喲推送到遠(yuǎn)程代碼倉中

git push

【注意事項(xiàng)】

git rebase?的分支是基于目標(biāo)分支進(jìn)行創(chuàng)建的。git rebase?可能會(huì)遇到?jīng)_突需要解決

但是如果是多個(gè)人在維護(hù)主分支main時(shí),自己維護(hù)分支dev1,如果自己分支超前main分支,r如果想將dev1分支修改的內(nèi)容合并到main分支

則最好先同步一下main分支,即將dev1變基onto main

操作:

git checkout dev1

git rebash main

git push

此時(shí)dev1和main分支同基

然后將dev1修改合并到main分支

操作:

git checkout main

git merge dev1

git push

多人維護(hù)同一分支解決沖突安全方法

案例:A和B同時(shí)在一個(gè)分支開發(fā)

A:先于B提交

B想同步A的提交并解決與自己修改的沖突

1、先創(chuàng)建臨時(shí)分支 git checkout -b dev-a

2、提交到本地,無需傳到遠(yuǎn)端 git add . git commit

3、然后切換到原始分支,相當(dāng)于原始分支未改動(dòng) git checkout dev-test

4、在本地dev-test分支拉取遠(yuǎn)端修改,此時(shí)本地dev-test與遠(yuǎn)端dev-test已經(jīng)同步 git pull

5、切換到臨時(shí)創(chuàng)建的分支 git checkout dev_a

6、進(jìn)行變基操作,讓臨時(shí)分支與dev-test分支同步,同時(shí)需要解決沖突 git rebase dev-test

7、將臨時(shí)分支合并到開發(fā)分支dev-test,并刪除臨時(shí)分支

git checkout dev-test

git merge dev_a

git branch -d dev_a

常見的操作命令:

參考:

Git 常用基本命令使用詳細(xì)大全_git命令行-CSDN博客

git常用命令總結(jié)_git_一頭小驢-GitCode 開源社區(qū) (csdn.net)

https://www.cnblogs.com/Jeffxu/p/17968795

Git教程學(xué)習(xí):07 打標(biāo)簽_git 打標(biāo)簽-CSDN博客

柚子快報(bào)邀請(qǐng)碼778899分享:git 常用操作指令

http://yzkb.51969.com/

好文推薦

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19380873.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄