導航:首頁 > 程序命令 > git的命令格式中的短劃線

git的命令格式中的短劃線

發布時間:2022-12-10 08:36:20

⑴ 如何在github上搭建自己的博客

1.建立一個項目
先在GitHub創建一個項目,名字隨意,盡量全部小寫字母,避免隨後會碰到的URL沖突問題。
1.1 在自己github右上角上,點擊+號按鈕,在出現的菜單中選擇 New repository

1.2 進入到創建倉庫頁面,給倉庫命名並給於描述之後,點擊create repository按鈕創建倉庫

項目創建完畢。
2.安裝Git
git是一個免費的、分布式的版本控制工具,或是一個強調了速度快的源代碼管理工具。
git的安裝地址(http://msysgit.github.io/)

關於git的具體安裝步驟可參考http://jingyan..com/article/90895e0fb3495f64ed6b0b50.html
關於git的常用命令可參考http://www.bootcss.com/p/git-guide/
3.clone項目
本地運行Git,隨意選個目錄,將剛才創建的項目clone下來。
例:
cd /e/blog
git clone https://github.com/stxwd46/EX.github-io.git
cd EX.github-io

4.建立配置文件_config.yml
注意:之後建立的所有文檔務必使用UTF-8 無 BOM(隱藏字元) 的編碼保存
在項目的根目錄下打開git命令行界面,輸入命令 >> _config.yml 新建文件 _config.yml ,填寫 baseurl: /blogdemo , blogdemo是你的項目名稱,這一行內容規定了整個網站的根路徑。
例:
baseurl: /EX.github-io

目錄結構變為
/EX.github-io
|--_config.yml

5.建立主頁
在根目錄下新建文件 index.html , 內容如下:
---
title: Hello, My Blog
---

{{ page.title }}

每篇文章的頭部,必須有一個yaml文件頭,用來設置一些元數據。它用三根短劃線"---",標記開始和結束,裡面每一行設置一種元數據。"title: Hello, My Blog",表示該文章的標題是"Hello, My Blog",如果不設置這個值,默認使用嵌入文件名的標題,即"hello world"。
在yaml文件頭後面,就是文章的正式內容,{{}}這些是Liquid模板語言,在{{}}裡面我們可以使用模板變數。{{ page.title }} 表示「本頁面的標題」,因為我們前面設置了title為Hello, My Blog。所以到時候進入到博客首頁,title 就會顯示相應的文案。
目錄結構變成:
/EX.github-io
|--_config.yml
|-- index.html

6.在_posts內撰寫文章,並在首頁加入文章列表
現在首頁有了,那我們怎麼發博文上去呢?
回到項目根目錄, 打開git bash,運行 mkdir _posts 新建一個目錄,看名字也知道啦,這里存放你所有的文章。
進入_posts目錄,新建一篇文章。注意默認的文件名格式是 year-month-day-postTitle 這樣。比如 2015-05-05-my_first_article.md,盡量避免空格或者其他亂七八糟的字元,這個文件名將作為URL的生成依據。文件名的格式可以通過修改 _config.yml中的 permalink 屬性而改變,默認值為 date ,也就是我們剛剛創建的文件的樣子,具體的規則可以看這里。
如果你發現了我剛才創建的文件後綴名是 .md ,熟悉GitHub或者StackOverFlow的朋友應該知道Markdown 格式。對於不熟悉前端的人來說,用markdown可以避開HTML,轉而使用更加直觀的Markdown語法。如果不熟悉Markdown語法也沒關系,可以參見這份Markdown 語法說明,應該說是相當易學,並且在熟悉之後非常易用的。而作為一個前端開發者來講,我還是更傾向於用html。
回到主題,打開剛才創建的文件,輸入如下內容:

---
title: 我的第一篇文章
---

# {{ page.title }}

## 目錄
+ [第一部分](#partI)
+ [第二部分](#partII)
+ [第三部分](#partIII)

----------------------------------

## 第一部分

這里是第一部分的內容

----------------------------------

## 第二部分

這里是第二部分的內容

----------------------------------

## 第三部分

這里是第三部分的內容

{{ page.date|date_to_string }}

這段內容中使用了最常用的幾種Markdown語法,比如使用 # ,## 表示 HTML 中的 <h1></h1> , <h2></h2>。使用[text](link)創建超鏈接,使用 連續多個 - 創建水平線(注意:不包括最上端包圍title所使用的橫線,那裡表示一個頁面的「頭屬性」),等等。更多詳細的語法可以在之前提到的頁面查詢,這里不再贅述,總之,這是一種更加貼近真實寫作的語法,推薦大家嘗試。
頁面最後面的那個 {{ page.date|date_to_string }} 是指顯示本頁的日期屬性,並且轉換為可讀的字元串形式。同樣也是Liquid語法。
OK,第一篇文章就寫好了,然後到主頁給文章加上入口鏈接。
打開我們的 index.html 文件,添加內容,變成下面這樣:

---
title: My Blog
---

{{ page.title }}

{% for post in site.posts %}

{{ post.date|date_to_string }} <a href='{{ site.baseurl }}{{ post.url }}'>{{ post.title }}</a>

{% endfor %}

簡單解釋一下,Liquid標記最主要分為兩種,一種是直接輸出變數內容,像這樣:
{{ page.title }}
另一種則是邏輯命令形式的,像這樣:
{% for x in y %} ... {% endfor %}
而剛才寫進主頁的內容,就是遍歷所有post文件,然後逐一顯示在頁面上,這里需要注意的一點就是在創建文章的超鏈接時,除了 post.url 之外,也要注意在前面加上site.url ,原因前面也有提到過,我們正在創建的是 Project Pages 類型的網站,其最終生成的網址根目錄是:username.github.com/projectname,而 post.url 生成的超鏈接僅僅會自動加上 username.github.com/ 這樣的前綴。
現在檢查一下更改的所有內容,確認不要犯下愚蠢的錯誤,比如把 「.」 打成 「。「或者單詞拼錯之類的。
目錄結構變為
/EX.github-io
|--_config.yml
|-- index.html
|-- _posts
| |--2015-05-05-my_first_article.md

7.配置SSH keys
為什麼要配置ssh keys?因為github和本地代碼做推送和拉取時,需要用到ssh的密鑰對進行數據加解密,由於github上新建的項目沒有添加密鑰,所以本地倉庫連接不到遠程倉庫。
那麼如何配置ssh keys呢?

7.1 我們需要檢查你電腦上現有的ssh key:
cd ~/.ssh

如果提示:No such file or directory 說明你是第一次使用git。
7.2 生成新的ssh keys:
ssh-keygen -t rsa -C "郵件地址@youremail.com"

注意1: 此處的郵箱地址,你可以輸入自己的郵箱地址;注意2: 此處的「-C」的是大寫的「C」。
按回車後出現

再按一次回車即可。
然後系統會要你輸入密碼:
Enter passphrase (empty for no passphrase):<輸入加密串>
Enter same passphrase again:<再次輸入加密串>

在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果為空的話提交項目時則不用輸入。這個設置是防止別人往你的項目里提交內容。
注意:輸入密碼的時候沒有*字樣的,你直接輸入就可以了。
最後看到這樣的界面,就成功設置ssh key了:

7.3 添加ssh key到GitHub
在本機設置SSH Key之後,需要添加到GitHub上,以完成SSH鏈接的設置。
1、打開本地C:\Documents and Settings\Administrator.ssh\id_rsa.pub文件。此文件裡面內容為剛才生成人密鑰。如果看不到這個文件,你需要設置顯示隱藏文件。准確的復制這個文件的內容,才能保證設置的成功。
2、登錄你的GitHub個人主頁。點擊右上角的 Settings進入設置頁面,然後點擊SSH Keys頁面中的Add SSH key按鈕
3、把你本地生成的密鑰復制到裡面(key文本框中), 點擊 add key 就ok了
8.發布到GitHub
這個時候我們就可以把頁面提交到github上了,到根目錄打開git命令行界面
8.1 把剛創建的所有文件添加到本地git庫
git add -A

8.2 保持良好的習慣,每次提交都提交添加描述
git commit -m "create my blog"

8.3 推送到GitHub,這里注意,因為我們使用的是GitHub Pages中的 Project Pages,GitHub規定,只有該分支中的頁面,才會生成網頁文件。即GitHub僅會將分支 gh-pages 下的內容進行自動生成操作, 所以本地的 master 分支應推送到遠端的 gh-pages 分支
git push origin master:gh-pages

輸入賬號和密碼,賬號即你的GitHub賬號(不是昵稱,是賬號名!),輸入密碼的時候命令行界面不會有任何的變化,所以在輸入密碼的時候要謹慎小心。之後按回車即可。

好了,那現在我們要如何查看我們的博客頁面呢。打開GitHub,進入到自己博客的倉庫,右側菜單欄有一個setting選項

點擊進入之後會看到這個頁面

GitHub Pages中顯示的鏈接就是你的博客地址啦。
9.增加模板套裝_layouts
其實到第8步博客的構建就已經完成了,只是沒有樣式的博客實在太難看。GitHub Pages有提供一些主題給我們使用。但作為一個前端開發者,肯定更希望自己給自己的博客布局和創建樣式。
回到項目根目錄,新建文件夾 _layouts,顧名思義,「布局」是也。在 _layouts 中新建一個最基本的布局文件,姑且命名為default.html好了:

<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>{{ page.title }}</title>
</head>
<body>

{{ content }}

</body>
</html>

首先,charset=utf-8讓我們一勞永逸地解決了UTF-8的編碼問題,隨後指定了正文內容的位置,當然在這里只是一個最簡單的內容,在body內僅有一個 {{ content }} 標簽,你可以根據自己的喜好對頁面進行任何改動,只要記得保留這個內容標簽在你想要的位置就好。
然後我們修改index.html和剛寫完的那篇文章,只要在頭屬性上加一句就好:
---
title: xxoo
layout: default.html
---

我們當然還可以把這個結構變得更靈活一些,比如繼續新增兩個模板分別叫做l_post.html與l_index.html,他們首先引用default.html,但在其基礎上做出一定的修改。然後首頁使用l_index模板,而所有的post文件則使用l_post模板,等等等等,請隨意發揮。但始終記得加上 {{ content }} 標簽
目錄結構變為

/EX.github-io
|--_config.yml
|-- index.html
|-- _posts
| |--2015-05-05-my_first_article.md
|-- _layouts
| |--default.html

再次推送到GitHub即可。
這樣,我們就已經構建好了一個最簡單的blog。之後你們就可以開始為自己的博客添磚加瓦了。
10.問題匯總
10.1 推送到GitHub之後個人主頁的contributions沒有提交記錄
Git會根據用戶的名字和郵箱來記錄提交。GitHub也是用這些信息來做許可權的處理,輸入下面的代碼進行個人信息的設置,把名稱和郵箱替換成你自己的。
如何查看自己的名稱和郵箱呢。回到GitHub個人主頁,點擊右上角的setting圖標

進入之後Personal settings菜單欄下的Profile頁面中,Name即為你的名字

但郵箱不是Name下面的Public email,很多人在這里被誤導了。郵箱是Emails頁面中的郵箱地址

知道了名字和郵箱之後,打開git命令行界面,通過下面的命令行來設置你的名字和郵箱
git config --global user.name "cnfeat"//用戶名
git config --global user.email "[email protected]"//填寫自己的郵箱

設置正確之後,提交記錄就都恢復了。不僅僅你以後提交的都會出現在提交記錄中,你以前提交的也會恢復並出現在記錄中。
10.2 每次提交都要求你輸入賬號跟密碼
原因是我們在clone分支時使用了 HTTPS 的地址,
HTTPS 的地址是做什麼用的呢?其實它主要是用在一些防火牆或者代理伺服器設置比較嚴格的情況下的,比如有些公司是禁止使用 SSH 連接外網,那麼在這種情況下要想使用 Git 的話,就只能用 HTTPS 的方式了。
使用 HTTPS 的方式,也有儲存密碼的方式,但我們首推的方式是切換到 SSH,如果你的網路環境支持的話。
回到你博客的根目錄。打開git命令行界面,輸入
git remote set-url 你博客的ssh url

如果你不知道你博客的ssh url,打開你的博客項目,右下角選擇SSH,然後復制框里的url就行了

之後再提交就不會要求你輸入賬號密碼了。
10.3 頁面調試不方便
如果我們要給我們的博客布局或設置樣式神馬的,我們是否每次都要把代碼寫好然後推送到GitHub上,再打開自己的博客地址,看看布局有沒有什麼問題。如果有的話再改代碼,再提交,再查看呢?

⑵ git 配置忽略文件規則

工作區新建一個名稱為.gitignore的文件。

然後,把要忽略的文件名填進去,Git就會自動忽略這些文件。

有時對於git項目下的某些文件,我們不需要納入版本控制,比如日誌文件或者IDE的配置文件,此時可以在項目的根目錄下建立一個隱藏文件 .gitignore(linux下以.開頭的文件都是隱藏文件),然後在.gitignore中寫入需要忽略的文件。

.gitignore注釋用'#', *表示匹配0個或多個任意字元

.gitignore忽略規則的優先順序

在 .gitingore 文件中,每一行指定一個忽略規則,Git檢查忽略規則的時候有多個來源,它的優先順序:

1)從命令行中讀取可用的忽略規則

2)當前目錄定義的規則

3)父級目錄定義的規則,依次遞推

4)$GIT_DIR/info/exclude 文件中定義的規則

5)core.excludesfile中定義的全局規則

.gitignore忽略規則的匹配語法

在 .gitignore 文件中,每一行的忽略規則的語法如下:

1) 空格 不匹配任意文件,可作為分隔符,可用反斜杠轉義

2)以「 # 」開頭的行都會被 Git 忽略。即#開頭的文件標識注釋,可以使用反斜杠進行轉義。

3)可以使用標準的 glob 模式匹配。所謂的glob模式是指shell所使用的簡化了的正則表達式。

4)以斜杠" / "開頭表示目錄;"/"結束的模式只匹配文件夾以及在該文件夾路徑下的內容,但是不匹配該文件;"/"開始的模式匹配項目跟目錄;如果一個模式不包含斜杠,則它匹配相對於當前 .gitignore 文件路徑的內容,如果該模式不在 .gitignore 文件中,則相對於項目根目錄。

5)以星號" * "通配多個字元,即匹配多個任意字元;使用兩個星號" ** " 表示匹配任意中間目錄,比如`a/**/z`可以匹配 a/z, a/b/z 或 a/b/c/z等。

6)以問號" ? "通配單個字元,即匹配一個任意字元;

7)以方括弧" [] "包含單個字元的匹配列表,即匹配任何一個列在方括弧中的字元。比如[abc]表示要麼匹配一個a,要麼匹配一個b,要麼匹配一個c;如果在方括弧中使用短劃線分隔兩個字元,表示所有在這兩個字元范圍內的都可以匹配。比如[0-9]表示匹配所有0到9的數字,[a-z]表示匹配任意的小寫字母)。

8)以嘆號" ! "表示不忽略(跟蹤)匹配到的文件或目錄,即要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反。需要特別注意的是: 如果文件的父目錄已經被前面的規則排除掉了,那麼對這個文件用"!"規則是不起作用的 。也就是說"!"開頭的模式表示否定,該文件將會再次被包含,如果排除了該文件的父級目錄,則使用"!"也不會再次被包含。可以使用反斜杠進行轉義。

.gitignore忽略規則簡單說明

#               表示此為注釋,將被Git忽略

*.a             表示忽略所有 .a 結尾的文件

!lib.a          表示但lib.a除外

/TODO 表示僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO

build/          表示忽略 build/目錄下的所有文件,過濾整個build文件夾;

doc/*.txt       表示會忽略doc/notes.txt但不包括 doc/server/arch.txt

bin/:           表示忽略當前路徑下的bin文件夾,該文件夾下的所有內容都會被忽略,不忽略 bin 文件

/bin:           表示忽略根目錄下的bin文件

/*.c:           表示忽略cat.c,不忽略 build/cat.c

debug/*.obj:    表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj

**/foo:         表示忽略/foo,a/foo,a/b/foo等

a/**/b:         表示忽略a/b, a/x/b,a/x/y/b等

!/bin/run.sh    表示不忽略bin目錄下的run.sh文件

*.log:          表示忽略所有 .log 文件

config.php:     表示忽略當前路徑的 config.php 文件

/mtk/ 表示過濾整個文件夾

*.zip           表示過濾所有.zip文件

/mtk/do.c       表示過濾某個具體文件

被過濾掉的文件就不會出現在git倉庫中(gitlab或github)了,當然本地庫中還有,只是push的時候不會上傳。

需要注意的是,gitignore還可以指定要將哪些文件添加到版本管理中,如下:

!*.zip

!/mtk/one.txt

唯一的區別就是規則開頭多了一個感嘆號,Git會將滿足這類規則的文件添加到版本管理中。為什麼要有兩種規則呢?

想像一個場景:假如我們只需要管理/mtk/目錄中的one.txt文件,這個目錄中的其他文件都不需要管理,那麼.gitignore規則應寫為::

/mtk/*

!/mtk/one.txt

假設我們只有過濾規則,而沒有添加規則,那麼我們就需要把/mtk/目錄下除了one.txt以外的所有文件都寫出來!

注意上面的/mtk/*不能寫為/mtk/,否則父目錄被前面的規則排除掉了,one.txt文件雖然加了!過濾規則,也不會生效!

還有一些規則如下:

fd1/*

說明:忽略目錄 fd1 下的全部內容;注意,不管是根目錄下的 /fd1/ 目錄,還是某個子目錄 /child/fd1/ 目錄,都會被忽略;

/fd1/*

說明:忽略根目錄下的 /fd1/ 目錄的全部內容;

/*

!.gitignore

!/fw/

/fw/*

!/fw/bin/

!/fw/sf/

說明:忽略全部內容,但是不忽略 .gitignore 文件、根目錄下的 /fw/bin/ 和 /fw/sf/ 目錄;注意要先對bin/的父目錄使用!規則,使其不被排除。

溫馨提示:

如果你不慎在創建.gitignore文件之前就push了項目,那麼即使你在.gitignore文件中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有文件進行版本管理。簡單來說出現這種問題的原因就是Git已經開始管理這些文件了,所以你無法再通過過濾規則過濾它們。所以大家一定要養成在項目開始就創建.gitignore文件的習慣,否則一單push,處理起來會非常麻煩。

ZT- 散盡浮華

⑶ Git基本操作

安裝完 Git 軟體後,需要我們做一下全局的配置工作,如:用戶名、郵箱等。

命令:git config

設置用戶名命令:

設置郵箱命令:

其中, --global 指定為全局配置,不指定該參數,則為當前所在倉庫配置。

查看配置:

在本地創建版本庫,需要使用 git init 命令。

首先,我們需要新建一個存放版本庫的文件夾,然後進入到該目錄所在路徑,執行如下命令,格式為:

最後查看文件夾,可以看到包含有 .git 子文件夾,說明創建版本庫成功了。

也可以在執行 git init 命令時指定一個文件夾作為版本庫。格式為:

克隆版本庫是指從現有 Git 版本庫中拷貝項目。

克隆版本庫使用如下命令,格式為:

如果我們需要克隆到指定的目錄,可以使用以下命令格式:

如:克隆遠程倉庫

添加一個或多個文件到暫存區:

添加指定目錄到暫存區,包括子目錄:

添加當前目錄下的所有文件到暫存區:

查看在我們上次提交之後是否有對文件進行再次修改。 格式為:

-s參數可以幫助我們獲得比較簡短的顯示結果。

如:我們在一個版本庫中所在目錄中增加一個 Unit1.pas 文件,然後執行如下命令:

顯示暫存區和工作區的差異:

顯示暫存區和上一次提交(commit)的差異:

顯示兩次提交之間的差異:

將暫存區內容添加到本地倉庫中。

提交暫存區到本地版本庫中:

message 可以用於描述提交的信息。

提交暫存區的指定文件到版本庫區:

修改後直接提交:

-a參數設置修改文件後不需要執行 git add 命令,直接來提交。

如:我們在上面的命令基礎上進行提交

接下來,我們對 Unit1.pas 文件進行修改,然後進行文件比較:

git reset 命令用於回退版本,可以指定退回某一次提交的版本。

git reset 命令語法格式如下:

可以使用 數字表示

git rm 命令用於刪除文件。

如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會在 Changes not staged for commit 的提示。所以,在 git 環境下一定要使用 git 的刪除文件操作。

git rm 刪除文件有以下幾種形式:

將文件從暫存區和工作區中刪除:

如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f

如果想把文件從暫存區域移除,但仍然希望保留在當前工作目錄中,換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項即可:

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

git mv 命令用於移動或重命名一個文件、目錄或軟連接。

如果新文件名已經存在,但還是要重命名它,可以使用 -f 參數:



⑷ git命令行提交部分代碼不是很麻煩

git一般針對若干文件的參數是這樣寫的

git命令參數--文件1文件2...文件n

中間是兩根短橫線

⑸ 為什麼 git 命令參數 有的是一個橫線開頭,有的是兩個橫線開頭

*nix命令都是如此,一個橫線開頭的接參數的縮寫,兩個橫線開頭的接參數的全稱git -h
git --helporgit remote [-v | --verbose]對比win下參數用/dir /?
format /Q

⑹ Git常用命令

1.1 配置環境

當安裝Git後首先要做的事情是設置用戶名稱和email地址。這是非常重要的,因為每次Git提交都會使用該用戶信息。該用戶信息和GitHub上注冊的遠程倉庫的相關信息沒有任何關系。

git config --global user.name "你的名字"

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

git config --list

配置信息保存在用戶目錄下的.giitconfig文件中

1.2 獲取Git倉庫

要使用Git對我們的代碼進行版本控制,首先需要獲得Git倉庫

獲取Git倉庫通常有兩種方式:

執行步驟如下:

1、在電腦的任意位置創建一個空目錄作為我們的本地Git倉庫

2、進入這個目錄中,點擊右鍵打開Git bash 窗口

3、執行命令git init

可以通過Git提供的命令從遠程倉庫進行克隆,將遠程倉庫克隆到本地的命令形式為:

git clone 遠程Git倉庫地址

1.3 工作目錄、暫存區以及版本庫概念

版本庫:.git隱藏文件就是版本庫,版本庫存儲了很多配置信息、日誌信息和文件版本信息等

工作目錄(工作區):包含.git文件夾的目錄就是工作目錄,主要用於存放開發的代碼

暫存區:.git文件夾中有很多文件,其中一個index文件就是暫存區,也可以叫做stage。暫存區是一個臨時保存修改文件的地方

1.4 Git工作目錄下文件的兩種狀態

Git工作目錄下的文件存在兩種狀態:

Unmodified 未修改狀態

Modified 已修改狀態

Staged 已暫存狀態

這些文件的狀態會隨著我們執行Git的命令發生變化

1.5 本地倉庫操作

git status 查看文件狀態

也可以使用git status -s使輸出信息更簡潔

git add 將未跟蹤的文件加入暫存區,將已經修改的文件加入暫存區也是通過這個命令

git reset 將暫存區文件取消暫存

git commit -m 「你的說明」 將暫存區文件提交到本地倉庫

git rm 刪除文件 說明:這種操作是直接將文件加入到暫存區裡面,直接提交到本地倉庫生效,而直接刪除的話沒有進入到暫存區,需要先把文件加入到暫存區之後,再提交到本地倉庫。

將文件添加至忽略列表

一般我們總會有些文件無需納入Git的管理,也不希望他們總出現在未跟蹤文件列表。通常這些都是自動生成的文件,比如日誌文件,或者編譯過程中創建的臨時文件等。在這種情況下,我們可以在工作目錄中創建一個名為.gitnore的文件(文件名稱固定),列出忽略的文件模式。下面是一個示例:#代表注釋

由於windows無法創建不含文件名的文件,因此我們需要在bash窗口中用如下命令創建。

git log 查看日記記錄

1.6 遠程倉庫操作

如果想查看已經配置的遠程倉庫伺服器,可以運行git remote 命令。它會列出指定的每一個遠程伺服器的簡寫。如果已經克隆了遠程倉庫,那麼至少可以看見origin,這是Git克隆的倉庫伺服器的默認名字

git remote -v 可以查看對遠程倉庫詳細一點的說明

git remote show origin 可以查看對origin更詳細的遠程倉庫的說明

運行git remote add 添加一個遠程Git倉庫,同時指定一個可以引用的簡寫

如果你想獲得一份已經存在了的Git倉庫的拷貝,這時需要用到 git clone 命令。Git克隆的是Git倉庫伺服器上的幾乎所有數據(包括日誌信息、 歷史 記錄等),而不僅僅是復制工作所需要的文件。當你執行git clone 命令的時候,默認配置下Git倉庫中的每一個文件的每一個版本都將被拉取下來。

如果因為一些原因想要移除一個遠程倉庫,可以使用git remote rm

注意:此命令只是從本地移除遠程倉庫的記錄,並不會影響到遠程倉庫

git fetch 是從遠程倉庫獲取最新版本到本地倉庫,不會自動merge

說明:如果使用fetch命令,拉取的文件會放到版本庫裡面,不會自動整合到工作區,如果需要整合到工作區,需要使用 git merge 遠程倉庫別名/遠程倉庫分支

git pull 是從遠程倉庫獲取最新版本並merge到本地倉庫

注意:如果本地倉庫不是從遠程倉庫克隆,而是本地創建的倉庫,並且倉庫中存在文件,此時再從遠程倉庫中拉取文件的時候會報錯(fatal:refusing to merge unrelated histories),解決此我呢提可以在git pull 命令後加入參數 --allow-unrelated-histories

git push

1.7 Git分支

幾乎所有的版本控制系統都是以某種形式支持分支。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。Git的master是一個特殊分支。它跟其它分支沒有區別。之所以每一個倉庫都有mater分支,是因為git init默認創建它,並且大多數人都懶得去改動它。

# 列出所有本地分支

$ git branch

#列出所有遠程分支

$ git branch -r

#列出所有本地分支和遠程分支

$git branch -a

git branch 分支名稱

git checkout 分支名稱

git push 遠程倉庫別名 遠程倉庫分支

git merge 分支名稱 說明:在當前分支下合並其他分支

注意:如果兩個分支存在同樣的文件名且同行的內容不一樣,那麼會產生矛盾,需要自己手動修改產生矛盾後的文件,然後添加到暫存區然後提交。

git branch -d 分支名稱

如果要刪除的分支中進行了一些開發動作,此時執行上面的刪除命令並不會刪除分支,可以將命令中的-d參數改為-D

如果要刪除遠程倉庫中的分支,可以使用命令git push origin -d branchName

1.8 Git標簽

像其他版本控制系統一樣,Git可以給 歷史 中的某一給提交打上標簽,以示重要。比較有代表性的是人們會使用這個功能來標記發布結點(v1.0、v1.2等)。標簽指的是某個分支某個特定時間點的狀態。通過標簽,可以很方便地切換到標記時的狀態。

#新建一個tag

$ git tag [tagName]

$ git tag

#新建一個分支,指向某個tag

$ git checkout -b [branch] [tag]

#刪除本地tag

$git tag -d[tag]

#刪除遠程tag

$git push origin :refs/tags/[tag]

⑺ Git命令大全

配置 Git 的相關參數。

Git 一共有3個配置文件:

1. 倉庫級的配置文件:在倉庫的 .git/.gitconfig ,該配置文件只對所在的倉庫有效。
2. 全局配置文件:Mac 系統在 ~/.gitconfig ,Windows 系統在 C:\Users\<用戶名>\.gitconfig 。
3. 系統級的配置文件:在 Git 的安裝目錄下(Mac 系統下安裝目錄在 /usr/local/git )的 etc 文件夾中的 gitconfig 。

從遠程倉庫克隆一個版本庫到本地。

初始化項目所在目錄,初始化後會在當前目錄下出現一個名為 .git 的目錄。

查看本地倉庫的狀態。

操作遠程庫。

操作 Git 的分支命令。

檢出命令,用於創建、切換分支等。

把已經提交的記錄合並到當前分支。

把要提交的文件的信息添加到暫存區中。當使用 git commit 時,將依據暫存區中的內容來進行文件的提交。

將暫存區中的文件提交到本地倉庫中。

從遠程倉庫獲取最新的版本到本地的 tmp 分支上。

合並分支。

比較版本之間的差異。

從遠程倉庫獲取最新版本並合並到本地。
首先會執行 git fetch ,然後執行 git merge ,把獲取的分支的 HEAD 合並到當前分支。

把本地倉庫的提交推送到遠程倉庫。

顯示提交的記錄。

還原提交記錄。

生成一個新的提交來撤銷某次提交,此次提交之前的所有提交都會被保留。

操作標簽的命令。

重命名文件或者文件夾。

刪除文件或者文件夾。

多人合作開發時,如果遠程的分支被其他開發刪除掉,在本地執行 git branch --all 依然會顯示該遠程分支,可使用下列的命令進行刪除:

⑻ 如何在Git中忽略某些文件

1. 介紹

有些文件是我們並不想加入也無需被添加到 Git 管理中,同時也不希望他出現在未跟蹤列表中。例如在編譯過程中生成的 o 文件。 「.gitignore」 文件可以達到這個效果。
2. 全局與局部

.gitignore 有全局和局部兩種:
2.1 全局
通過修改全局配置 git config 中的 excludesfile 指定全局忽略文件。設置方法:
$git config --global core.excludesfile ~/.gitignore
修改 ~/.gitignore 這個文件將作用於所有 git 項目,並且作用於項目實例中的所有被跟蹤的目錄。比如說我們可以在該文件中添加 *.o 來忽略所有 .o 文件。
2.2 局部
忽略文件默認為當前目錄的 .gitignore ,但它只作用於當前目錄下。上面說到,在全局的 .gitignore 文件中添加 *.o 會忽略所有目錄下產生的 .o 文件,但在當前目錄下的 .gitignore 中添加 *.o 卻只能忽略當前目錄下的 .o 文件。
3. 語法
.gitignore 的語法規范如下:
·所有空行或者以注釋符號 # 開頭的行都會被 Git 忽略;
·可以使用標準的 glob 模式匹配。 * 匹配模式最後跟反斜杠(/)說明要忽略的是目錄。 * 要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反。
glob 模式匹配:
·星號(*)匹配零個或多個任意字元;
·[abc] 匹配任何一個列在方括弧中的字元(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c);
·問號(?)只匹配一個任意字元;
·[0-9a-zA-Z] 在方括弧中使用短劃線分隔兩個字元,表示所有在這兩個字元范圍內的都可以匹配(比如 [0-9a-zA-Z] 表示匹配所有 0 到 9 的數字和所有字母);
·\ 轉義字元。
註:理論上來說,在要忽略的格式文件後面添加註釋是允許的,但經過我的驗證,結果發現這樣子操作並不能達到預期的效果。
4. 例子
一個 .gitignore 例子。

# 此為注釋 – 將被 Git 忽略
# 忽略所有 .a 結尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目錄下的所有文件
build/
# 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt

閱讀全文

與git的命令格式中的短劃線相關的資料

熱點內容
php微信第三方登錄demo 瀏覽:534
上海php工具開發源碼交付 瀏覽:788
哪裡有求購黃頁的源碼 瀏覽:194
商城礦機源碼礦場系統 瀏覽:195
單片機的led燈熄滅程序 瀏覽:222
洛陽python培訓 瀏覽:702
小鍵盤命令 瀏覽:192
單片機c語言返回主程序 瀏覽:816
dockerpythonweb 瀏覽:970
程序員演算法有多強 瀏覽:717
pythonworkbook模塊 瀏覽:245
什麼app能查醫生 瀏覽:175
輕量級的編程語言 瀏覽:338
程序員那麼可愛生孩子 瀏覽:432
後綴him3加密文件是什麼軟體 瀏覽:984
堅果隱藏app為什麼要140版本才能用 瀏覽:313
淘寶dns伺服器地址 瀏覽:259
領英轉型app哪個好用 瀏覽:943
壓縮軟體的圖標 瀏覽:97
賣鞋哪個app是真的 瀏覽:469