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

首頁綜合 正文
目錄

柚子快報邀請碼778899分享:git 常用操作指令

柚子快報邀請碼778899分享:git 常用操作指令

http://yzkb.51969.com/

文章目錄

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

git clone

git clone?可以將一個遠程 Git 倉庫拷貝到本地,讓自己能夠查看該項目,或者進行修改。

拷貝項目命令格式如下:

git clone [url]

[url]?是你要拷貝的項目。

例如我們拷貝 Github 上的項目:

$ 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 支持兩種標簽:

輕量標簽(lightweight)附注標簽(annotated)

輕量標簽(lightweight)

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

$ git tag

$ git tag

附注標簽(annotated)

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

git tag -a -m ""

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

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

//列出所有標簽:

$ git tag

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

共享標簽

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

$ git push origin

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

$ git push origin --tags

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

刪掉標簽

要刪除掉本地倉庫上的標簽,可以使用命令?git tag -d

$ git tag -d

刪除遠端標簽:

git push origin --delete

檢出標簽

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

$ git checkout

?git config

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

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

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

git add

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

git add .

注意:add有多種形式,可以add某個文件,某個文件夾,或直接add當前倉庫下所有文件

git add 單個文件

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

git add .

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

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

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

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

git reset HEAD test.txt

git commit

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

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

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

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

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

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)場的同時刪除stash內(nèi)容

常用git stash命令:

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

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

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

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

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

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

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

(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 能正確存儲的前提是文件必須在git 版本控制中才行。

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

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

git rm

如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會在 Changes not staged for commit 的提示。要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,然后提交??梢匀缦率褂茫?/p>

git rm

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

git rm -f

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

git rm –r *

rm -rf .git/ //強制刪除暫存文件

git branch/checkout

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

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

git pull/push

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

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

更新操作:

$ git pull

$ git pull origin

將遠程主機 origin 的 master 分支拉取過來,與本地的 brantest 分支合并。

git pull origin master:brantest

如果遠程分支是與當前分支合并,則冒號后面的部分可以省略。

git pull origin master

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

命令格式如下:

git push <遠程主機名> <本地分支名>:<遠程分支名>

如果本地分支名與遠程分支名相同,則可以省略冒號:

git push <遠程主機名> <本地分支名>

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

$ git push origin master //等價于$ git push origin master:master

或git push -u origin master

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

git push --set-upstream origin dev

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

git push origin --delete master

git rebash/merge

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

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

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

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

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

git rebase?流程

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

git checkout main

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

git rebase dev

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

git push

【注意事項】

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

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

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

操作:

git checkout dev1

git rebash main

git push

此時dev1和main分支同基

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

操作:

git checkout main

git merge dev1

git push

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

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

A:先于B提交

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

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

2、提交到本地,無需傳到遠端 git add . git commit

3、然后切換到原始分支,相當于原始分支未改動 git checkout dev-test

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

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

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

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

git checkout dev-test

git merge dev_a

git branch -d dev_a

常見的操作命令:

參考:

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

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

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

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

柚子快報邀請碼778899分享:git 常用操作指令

http://yzkb.51969.com/

好文推薦

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

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

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

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

發(fā)布評論

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

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄