国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Git常見(jiàn)相關(guān)知識(shí)與命令

Original 2016-11-08 10:30:28 635
abstract:安裝git程序ContOS         Yum install –y epel-release         Yum install –y gitUbuntu      &n

安裝git程序

ContOS

         Yum install –y epel-release

         Yum install –y git

Ubuntu

         Sudo apt-get install git

Windows上安裝

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

安裝完成以后還需要最后一步設(shè)置

         git config --global user.name "Qiang"//比如Qiang

         git config --global user.email "zhiqiangwang@aliyun.com"//寫(xiě)入到你的郵箱

 

創(chuàng)建版本倉(cāng)庫(kù)并推送文件

Mkdir /home/gitroot   //創(chuàng)建目錄

Cd /home/gitroot     //進(jìn)入目錄

Git init //用命令初始化。讓這個(gè)目錄編程git可以管理的倉(cāng)庫(kù)

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

Echo –e “QIANG”>1.txt //創(chuàng)建一個(gè)文件1.txt

Git add 1.txt //把1.txt添加到倉(cāng)庫(kù)中

Git commit –m “add new file 1.txt” //add完了必須要conmit才算真正把文件提交到git倉(cāng)庫(kù)里

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

Git status //查看當(dāng)前倉(cāng)庫(kù)中的狀態(tài),比如是否有改動(dòng)文件

Git checkout --1.txt//將倉(cāng)庫(kù)中的1.txt覆蓋本地的1.txt

Git diff 1.txt /可以對(duì)比1.txt本次修改了什么內(nèi)容,相比倉(cāng)庫(kù)里面的版本

 

刪除文件

1.       git add test.txt

2.       git commit -m "add test.txt"

3.       rm test.txt

4.       git status

5.       git rm test.txt

6.       rm 'test.txt'

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

 

上傳當(dāng)前目錄下所有文件

1.       git add .

2.       git commit -m "updata all"

3.       git push

 

版本的變更

多次更改1.txt 并進(jìn)行g(shù)it add,git commit操作

Git log //可以查看所有提交git倉(cāng)庫(kù)的倉(cāng)庫(kù)記錄操作

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

通過(guò)git log可以查看到過(guò)去提交的所有版本,所以根據(jù)這個(gè)log可以指定回退某個(gè)版本

Git reset –hard d03da70182c1e78d04df1d7eee2f6a972ae4f82b //可以回退該版本,這里是長(zhǎng)字符串,可以簡(jiǎn)寫(xiě)(前5個(gè)字符)

Git reflog //可以顯示所有的版本

 

文件恢復(fù)

當(dāng)修改1.txt 發(fā)現(xiàn)修改的不對(duì),想修改上一次提交的狀態(tài)

Git checkout –1.txt//恢復(fù)到上一次提交的狀態(tài)

如果1.txt修改完成,保存后,git add 1.txt了 但是沒(méi)有g(shù)it commit,再想回退到上一次提交是的狀態(tài),可以使用

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”

Rm –f 2.txt

Git status

Git rm 2.txt

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

 

創(chuàng)建一個(gè)遠(yuǎn)程的倉(cāng)庫(kù)

1.先注冊(cè)一個(gè)免費(fèi)的倉(cāng)庫(kù)https://github.com/或https://git.oschina.net/

2.權(quán)限認(rèn)證,添加key

  github :Setting->SSH and GPG keys->new SSH key->title和key輸入進(jìn)去

  oschina:個(gè)人資料->SSH公鑰->添加公鑰->標(biāo)題和公鑰輸入進(jìn)入

  生成密鑰對(duì):ssh-keygen

  Liunx: Cat /root/.ssh/id_rsa

Cat /root/.ssh/id_rsa.pub //公鑰

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

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

添加成功收到郵件

3.創(chuàng)建一個(gè)創(chuàng)建鏈接倉(cāng)庫(kù)

  3.1 Mkdir /home/gitroot   //創(chuàng)建目錄

3.2 Cd /home/gitroot     //進(jìn)入目錄

3.3 Git init             //用命令初始化。讓這個(gè)目錄編程git可以管理的倉(cāng)庫(kù)

3.4 git remote add origin 倉(cāng)庫(kù)地址

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

3.4.1 origin是你的倉(cāng)庫(kù)的別名 可以隨便改,但請(qǐng)務(wù)必不要與已有的倉(cāng)庫(kù)別名沖突

3.4.2倉(cāng)庫(kù)地址一般來(lái)講支持

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倉(cāng)庫(kù)推送到遠(yuǎn)程Qiang

3.9 Echo –e “QIANG QIANG”>>Qiang.txt //在Qiang.txt后面追加QIANG QIANG

3.10 git add Qiang.txt

3.11 git commit –m “update Qiang.txt”

3.12 git push //把本地的Qiang倉(cāng)庫(kù)再次推送到遠(yuǎn)程Qiang

 

 

克隆一個(gè)遠(yuǎn)程的倉(cāng)庫(kù)

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

 

分支管理

  Git branch 查看分支

  Git branch wang 創(chuàng)建分支

  git checkout wang 切換wang分支

 

分支合并

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

  合并常見(jiàn)的問(wèn)題

1. 如果master分支和wang分支都對(duì)Qiang.txt進(jìn)行編輯,當(dāng)合并時(shí)提示沖突,許先解決沖突才可以繼續(xù)合并

2.  解決沖突的方法就是在master分支下,編輯Qiang.txt,改為wang分支里面的Qiang.txt的內(nèi)容,然后提交Qiang.txt,在進(jìn)行合并

3.  如果master分支更改的內(nèi)容是我們想要的,可以編輯Qiang.txt內(nèi)容,改為想要的然后提交,切換到wang分支,然后合并 master分支到wang分支即可。Merge后面跟的分支名字一定是最新的分支

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

5.  Git branch –D wang /如果分支沒(méi)有合并,強(qiáng)制刪除

 

使用分支的原則

 Master分支是非常重要的,線(xiàn)上發(fā)布代碼的時(shí)候才用到這個(gè)分支

 Dev分支就是專(zhuān)門(mén)用于開(kāi)發(fā)的,重要發(fā)布線(xiàn)上之前才會(huì)把dev分支合并到master

 開(kāi)發(fā)人員應(yīng)該才dev的基礎(chǔ)上在分支成個(gè)人分支,個(gè)人分支里面開(kāi)發(fā)代碼,然后合并到dev分支

在dev分支合并bob分支命令就是

 Git checkout dev //先切換dev分支

 Git merge bob

 

現(xiàn)場(chǎng)保留

在wang 分支編輯wang.txt

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

然后 git stash保留現(xiàn)場(chǎng)

再切換zhi分支修復(fù),修復(fù)完bug之后,在切回wang分支

Git stash list可以查看我們保留過(guò)的現(xiàn)場(chǎng)

Git stash apply 恢復(fù)現(xiàn)場(chǎng)

Git syash apply stash@{0} 恢復(fù)到指定現(xiàn)場(chǎng)

 

遠(yuǎn)程分支

git remote –v //查看遠(yuǎn)程庫(kù)信息

git ls-remote origin//查看遠(yuǎn)程分支

推送本地分支wang到遠(yuǎn)程分支 wang并建立關(guān)聯(lián)關(guān)系

a.  遠(yuǎn)程已有wang分支并且已經(jīng)關(guān)聯(lián)本地分支wang且本地已經(jīng)切換到wang

git push

b.  遠(yuǎn)程已有wang分支但未關(guān)聯(lián)本地分支wang且本地已經(jīng)切換到wang

git push -u origin /wang

c.  遠(yuǎn)程沒(méi)有有wang分支并,本地已經(jīng)切換到wang

git push origin wang: wang

刪除本地分支

git branch –d|-D wang

刪除遠(yuǎn)程分支

git push origin  :wang

git branch -m | -M oldbranch newbranch 重命名分支,如果newbranch名字分支已經(jīng)存在,則需要使用-M強(qiáng)制重命名,否則,使用-m進(jìn)行重命名。

 

標(biāo)簽管理

標(biāo)簽類(lèi)是于快照功能,給一個(gè)版本庫(kù)打一個(gè)標(biāo)簽,記錄某個(gè)時(shí)刻的狀態(tài),也可以隨時(shí)恢復(fù)該狀態(tài)

1.  git checkout master 先切換master上

2.  git tag v1.0 給master打上一個(gè)標(biāo)簽v1.0

3.  git tag 查看所有的標(biāo)簽

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

5.  git tag v0.9 d03da//針對(duì)歷史commit打標(biāo)簽

6.  git tag –a –m “tag just v1.1” d03da//可以對(duì)標(biāo)簽進(jìn)行描述

7.  git tag –d v0.8刪除標(biāo)簽

8.  git push origin v1.0//推送到指定標(biāo)簽遠(yuǎn)程

9.  git push --tag origin//推送所有標(biāo)簽

10. git tag –d//刪除本地標(biāo)簽

11. git push origin : refs/tags/v1.0刪除遠(yuǎn)程標(biāo)簽

 

搭建git服務(wù)器

1.  Yum install git

2.  添加git用戶(hù),并設(shè)置shell為/usr/bin/git-shell,目的是為了不讓git用戶(hù)遠(yuǎn)程登錄

Useradd –s /usr/bin/git-shell

3.  Cd /home/git

4.  創(chuàng)建authorized_keys文件,更改屬主,屬組合權(quán)限,用于存客戶(hù)端機(jī)器上的公鑰

5.  Mkdir.ssh

6.  ssh-keygen //使用該命令生成密鑰對(duì)

7.  touch authorized_keys

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

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

10. 定義存儲(chǔ)git倉(cāng)庫(kù)的目錄 /data/gitroot

Mkdir /data/gitroot

Cd /data/gitroot

11. Git init –bare sample.git //創(chuàng)建一個(gè)裸倉(cāng)庫(kù),裸倉(cāng)庫(kù)沒(méi)有工作區(qū),因?yàn)榉?wù)器上的git倉(cāng)庫(kù)純粹為了貢獻(xiàn),所以不讓用戶(hù)登錄到服務(wù)器上改工作區(qū),并且服務(wù)器上的git倉(cāng)庫(kù)通過(guò)以.git結(jié)尾

12. Chown –R git.git sample.git

以上操作是在git服務(wù)器上做的,平時(shí)git服務(wù)器不西藥開(kāi)發(fā)人員登錄去修改代碼,他僅僅是充當(dāng)一個(gè)服務(wù)器的角色,就像github一樣,平時(shí)都是在我們自己的pc上做的

在客戶(hù)端上克隆遠(yuǎn)程倉(cāng)庫(kù)

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

此時(shí)可以進(jìn)入sample目錄下,這個(gè)就是我們克隆遠(yuǎn)程倉(cāng)庫(kù)。進(jìn)入到這里面進(jìn)行開(kāi)發(fā),然后push到遠(yuǎn)程


Release Notes

Popular Entries