首頁  >  文章  >  後端開發  >  Git常見相關知識與指令

Git常見相關知識與指令

巴扎黑
巴扎黑原創
2016-11-07 10:16:35977瀏覽

安裝git程式

ContOS

         Yum 遠 

         Sudo apt-get install git

Windows上安裝

         https:// git-scm.com/download/win

安裝完成以後還需要最後一步設定

         git config --global user.name "Qiang"// un .com"//寫入到你的信箱

 

建立版本倉庫並推播檔案

Mkdir /home/gitroot   //建立目錄

Cd /home/gitroot    //進入目錄

Cd /home/gitroot    //進入目錄命令初始化。讓這個目錄編程git可以管理的倉庫

Ls –a //可以看到.git目錄

Echo –e “QIANG”>1.txt //建立一個檔案1.txt

Git add 1.txt / /把1.txt加到倉庫

Git commit –m “add new file 1.txt” //add完了必須要conmit才算真正把文件提交到git倉庫裡

Echo –e “QIANG QIANG”> > 1.txt //更改1.txt

Git status //查看目前倉庫中的狀態,例如是否有改動檔案

Git checkout --1.txt//將倉庫中的1.txt覆蓋本地的1 .txt

Git diff 1.txt /可以比較1.txt這次修改了什麼內容,相較於倉庫內的版本

 

刪除檔案

1.     m "add test.txt"

3.       rm test.txt

4.       git status

5.  

7.       git commit -m "remove test.txt"

 

上傳目前目錄下所有檔案

1.       git add .

2.    

 

版本的變更

多次更改1.txt 並進行git add,git commit操作

Git log //可以查看所有提交git倉庫的倉庫記錄操作

Git log –pretty=oneline 一行一行顯示

透過git log可以查看到過去提交的所有版本,所以根據這個log可以指定回退某個版本

Git reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //可以回退該版本,這裡是長字串,可以簡寫(前5個字元)log顯示所有的版本

 

文件恢復

當修改1.txt 發現修改的不對,想修改上一次提交的狀態

Git checkout –1.txt//恢復到上一次提交的狀態

Git checkout –1.txt//恢復到上次提交的狀態

如果111 .txt修改完成,儲存後,git add 1.txt了但是沒有git commit,再想回退到上一次提交是的狀態,可以使用

Git reset HEAD 1.txt

然後再

Git checkout – 1.txt

 

檔案刪除

Echo “QIANG” >2.txt

Git add 2.txt

Git commit –m “add new file 2.txt

Git commit –m “add new file 2.txt

Git commit –m “add new file 2. Git status

Git rm 2.txt

Git commit –m “delete 2.txt”//徹底刪除2.txt

 

創建一個遠端的倉庫

:

 

創建一個遠端的倉庫

:1.https先註冊一個免費的倉庫/github.com/或https://git.oschina.net/

2.權限認證,新增key

  github :Setting->SSH and GPG keys->new SSH key->title和key輸入進去

  oschina:個人資料->SSH公鑰->新增公鑰->標題與公鑰輸入進入

  產生金鑰對:ssh-keygen

  Liunx: Cat /root/.ssh/id_rsa

  Liunx: Cat/root/.ssh/id_rsa

 /.ssh/id_rsa.pub //公鑰

  Windwos:Cat c:/Users/Cmd/.ssh/id_rsa

Cat c:/Users/Cmd/.ssh/id_rsa.pub

已成功新增郵件

3.創建一個創建鏈接倉庫

  3.1 Mkdir /home/gitroot   //創建目錄

3.2 Cd /home/gitroot     //進入目錄

3.3 Git init             //用命令初始化。讓這個目錄編程git可以管理的倉庫

3.4 git remote add origin 倉庫地址

   git remote add origin git@git.oschina.net:zhiqiangwang/Qiang.git

隨便改,但請務必不要與已有的倉庫別名衝突

3.4.2倉庫地址一般來講支援

3.5 Echo –e “QIANG”>Qiang.txt //新建Qiang.txt

3.6 git add Qiang .txt

3.7 git commit –m “add Qiang.txt”

3.8 git push –u origin master //把本地的Qiang倉庫推送到遠端Qiang

3.9 Echo –e “QIANG QIANGtxt>Qiang

. //在Qiang.txt後面追加QIANG QIANG

3.10 git add Qiang.txt

3.11 git commit –m “update Qiang.txt”

3.12 git push •m “update Qiang.txt”

3.12 git push //把本地的Qiangangle

 

克隆一個遠端的倉庫

  Git clone git@git.oschina.net:zhiqiangwang/Qiang.git

 

  git checkout wang切換wang分支

 

分支合併

  Git merge wang //把wang分支合併到master

  合併常見的問題

1. 如果分支和wang

  合併常見的問題

1. 如果分支和wang個分支都對Qiang.衝突,許先解決衝突才可以繼續合併

2.  解決衝突的方法就是在master分支下,編輯Qiang.txt,改為wang分支裡面的Qiang.txt的內容,然後提交Qiang.txt,在進行合併

3.  如果master分支更改的內容是我們想要的,可以編輯Qiang.txt內容,改為想要的然後提交,切換到wang分支,然後合併master分支到wang分支即可。 Merge後面接的分支名字一定是最新的分支

4.  Git branch –d wang //刪除分支

5.  Git branch –D wang /如果分支沒有合併,強制刪除

 

使用分支的原則

 Master分支是非常重要的,線上發布程式碼的時候才用到這個分支

 Dev分支就是專門用於開發的,重要發布線上之前才會把dev分支合併到master

 開發人員應該才dev的基礎上在分支成個人分支,個人分支裡面發展程式碼,然後合併到dev分支

在dev分支合併bob分支指令就是

 Git checkout dev //先切換dev分支

 Git merge bob

現場保留

在wang 分支編輯wang.txt

去zhi分支修復bug,所以需要先git add wang.txt

然後git stash保留現場

再切換zhi分支修復,修復完bug之後,在切回wang分支

Git stash list可以查看我們保留過的現場

Git stash apply 恢復現場

Git syash apply stash@{0} 恢復到指定現場

•查看遠端程式庫資訊

git ls-remote origin//查看遠端分支

推送本地分支wang到遠端分支wang並建立關聯關係

a.  遠端有wang分支並且已經關聯本地分支wang且本地已經切換到wang

git push

b.  遠端有wang分支但未關聯本地分支wang且本地已經切換到wang

git push -u origin /wang

c.  遠端沒有有wangwang

git push origin wang: wang

刪除本地分支

git branch –d|-D wang

刪除遠端分支

git push origin  :wang

刪除遠端分支

git push origin  :wang

刪除遠端分支

git push origin  :wang

刪除分支

git。如果newbranch名字分支已經存在,則需要使用-M強制重命名,否則,請使用-m進行重新命名。

 

標籤管理

標籤類別是於快照功能,給一個版本庫打一個標籤,記錄某個時刻的狀態,也可以隨時恢復該狀態

1.  git checkout master 先切換master上

1.  git checkout master 先切換master上

2 .  git tag v1.0 給master打上一個標籤v1.0

3.  git tag 看所有的標籤

4.  git log –-pretty=oneline –-abbrev-commit//查看歷史commit

5. tag v0.9 d03da//針對歷史commit打標籤

6.  git tag –a –m “tag just v1.1” d03da//可以對標籤進行描述🎜🎜7.  git tag –d v0.8刪除標籤🎜🎜8.  git push origin v1.0//推送到指定標籤遠端🎜🎜9.  git push --tag origin//推播所有標籤🎜🎜10. git tag –d//刪除本地標籤🎜

11. git push origin : refs/tags/v1.0刪除遠端標籤

 

搭建git伺服器

1.  Yum install git

2. 

1.  Yum install git

2. shell,目的是為了不讓git使用者遠端登入

Useradd –s /usr/bin/git-shell

3.  Cd /home/git

4.  建立authorized_keys文件,更改屬主,屬組合權限,用屬主,屬組合權限於存客戶端機器上的公鑰

5.  Mkdir.ssh

6.  ssh-keygen //使用此指令產生金鑰對

7.  touch authorized_keys

7.  touch authorized_keys

8.git/cat/home. pub>>/home/git/.ssh/authorized_keys.

9.  Chown –R git.ssh或Chown 600 .ssh/authorized_keys

10. 定義儲存倉庫的目錄/data/gitroot gitroot

Cd /data/gitroot

11. Git init –bare sample.git //建立一個裸倉庫,裸倉庫沒有工作區,因為伺服器上的git倉庫純粹為了貢獻,所以不讓使用者登入伺服器上改工作區,並且伺服器上的git倉庫透過以.git結尾

12. Chown –R git.git sample.git

以上操作是在git伺服器上做的,平時git伺服器不西藥開發人員登入修改程式碼,他只是扮演一個伺服器的角色,就像github一樣,平常都是在我們自己的pc上做的

在客戶端上克隆遠端倉庫

Git clone git@ip:/data/gitroot/sample .git

此時可以進入sample目錄下,這就是我們複製遠端倉庫。進入到這裡面進行開發,然後push到遠端🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn