1. 程式人生 > >版本控制Git(完美整理版)

版本控制Git(完美整理版)

版本控制Git

一.Git是什麼

版本控制工具!Git是目前世界上最先進的分散式版本控制系統(沒有之一)。

這個軟體用起來就應該像這個樣子,能記錄每次檔案的改動

這裡寫圖片描述

這樣,你就結束了手動管理多個“版本”的史前時代,進入到版本控制的20世紀。

二.Git發展史

cvs –svn

在2002年以前,世界各地的志願者把原始碼檔案通過diff的方式發給Linus,然後由Linus本人通過手工方式合併程式碼!你也許會想,為什麼Linus不把Linux程式碼放到版本控制繫系統呢?不是有CVS、SVN這些免費的版本控制系統嗎?因為Linus堅定地反對 CVS和SVN,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和 Linux的開源精神不符。

Linus花了兩週時間用C寫了一個分散式版本控制系統,這就是Git!一個月之內,Linux系統的原始碼已經由Git管理了!Git迅速成為最流⾏的分散式版本控制系統,尤其是2008年,GitHub網站上線了,它為開源專案免費提供Git儲存,無數開源專案開始遷移到GitHub,包括jQuery,PHP,Ruby等等。

三.git執行方式

1.集中式VS分散式

Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分散式版本控制

(1)集中式版本控制系統,

版本庫是集中存放在中央伺服器的,你幹活的時候,用的都是自己的電腦,所以要先從
中央伺服器取得最新的版本,然後開始幹 活,幹完活了,再把自己的活推送給中央服
務器。中央伺服器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然後
回到家自己改,改完了,再放回圖書館。集中式版本控制系統最大的弊端就是必須聯網
才能工作,如果在區域網內還好,速度夠快,可如果在網際網路上,遇到網速慢的話,可
能提交個10M的檔案就需要5分鐘,這還不得把人給憋死啊。

(2)分散式版本控制系統根本

沒有“中央伺服器”,每個⼈的電腦上都是一個完整的版本庫,這 樣,你工作的時候,
就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個認電腦上都有個完整的版
本庫,那多個人如何協作呢?比如說你在自己電腦上改 了檔案A,你的同事也在他的
電腦上改了檔案A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到
對方的修改了。和集中式版本控制系統相比,分散式版本控制系統的安全性要好很多,
因為每個電腦裡都有完整的版本庫,某個人的電腦壞掉了不要緊,而集中式版本控制
系統的中央伺服器要是出了問題,所有人都沒法幹活了

git執行方式如圖

這裡寫圖片描述

2.工作區和暫存區

Git和其他版本控制系統如SVN的一個不同之處就是有暫存區的概念

工作區(Working Directory):就是你在電腦⾥能看到的目錄,

版本庫(Repository):工作區有個隱藏目錄“.git”,這個不算工作區,而是Git的版本
庫,Git的版本庫存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還
有Git為我們主動建立的第一個分支master,以及指向master的一個指標叫HEAD。

我們把檔案往Git版本庫中新增的時候,是分兩步執行的:

第一步是用“git add”把檔案新增進去,實際上就是把檔案修改新增到暫存區;第二步
是用“git commit”提交更改,實際上就是把暫存區的所有內容提交到當前分支。因為
我們建立Git版本庫時,Git主動為我們建立了唯一一個master分支,所以,現在,
commit就是往master分支上提交更改。你可以簡單理解為,需要提交的⽂件修改通
通放到暫存區,然後,一次性提交暫存區的所有修改

四.常用git伺服器

1.github==全球最大的開源網站

2.碼雲==免費的,國內的

3.coding==國內的

五.安裝Git

1.Linux系統安裝GIt

(1)方法一:yum安裝

yum search Git===檢視是否有git如果有就下載

Git –version====查版本

下最新版本官網:git-scm.com

注意:預設yum install git 安裝的為git 1.7.1版本
coding上面讓要使用的git版本為1.8.0以上,而且這個版本clone的時候有錯,所以需要手動安裝git

(2)方式二:手動安裝git


    1、安裝git依賴包
        yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    2、刪除已有的git
        yum remove git
    3、下載git原始碼
        wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz 
        tar -zxvf git-2.8.3.tar.gz
        cd git-2.8.3
        ./configure prefix=/usr/local/git/
        make && make install
    4、將git指令新增到bash中,新增到環境變數中
        vi /etc/bashrc
        在最後一行介入
        export PATH=$PATH:/usr/local/git/bin
        source /etc/bashrc  即可
        git --version   git已經安裝好,可以檢視git版本
2.window中安裝

這裡我們演示Win系統的安裝,暫不考慮linux系統

下載安裝客戶端,安裝成功檢查是否安裝是否成功

**方法一:桌面右擊鼠標出現git bash here** 

    在介面中輸入git --version顯示版本

**方法二:執行cmd中輸入git --version顯示版本**

六、Git操作(以Github網站為例)

1.註冊並登入Github網站

常規註冊,注意一點需要郵箱認證,否則不能建立專案

2.Github上建立倉庫

(1)新建一個倉庫(Repositories),填寫專案名和專案說明,建立成功會生成一個網址

3.獲取專案—從伺服器(雲端)獲取專案到本地

本地找一個資料夾存放檔案,然後右鍵開啟git執行下面程式碼,可將自己或者別人專案拿到本地

git clone https地址====將倉庫克隆到本地

注意:【建立ssh金鑰】也可以在之前建立

建立的目的是為了保證安全性,只有具有金鑰的管理員才可上傳,其他人只可以下載

git中輸入指令可以生成金鑰===ssh-keygen,生成私鑰id_rsa和公鑰id_rsa.pub

將公鑰貼上到網站中的
這裡寫圖片描述
這裡寫圖片描述

4.下拉專案更新本地

在本地看到伺服器最新的程式碼(更新修改情況)

git pull    ====  從伺服器更新程式碼

5.本地推送到伺服器

先在本地實施版本控制,即建立版本庫,又叫倉庫(repository)

(1)建立倉庫(版本庫),選擇一個合適的位置建立一個空目錄

mkdir +檔名     #檔名和路用英文,檔案編輯可用notepad++
cd 檔名

(2)進入目標資料夾(想推送的檔案所在資料夾)

git init    初始化Git倉庫,將這個目錄可以變為倉庫
git add +檔名    新增指定檔案
(或者git add .     新增所有檔案)

git status  檢視當前狀態

(3)提交檔案

git  commit  -m  "我寫的內容原因"   
(注意:提交原因必須寫,否則不能推送)

(4)推送檔案到伺服器

git push 
或者git push origin(伺服器專案預設名字) master

七.配置免密碼推送

在網站上建立專案的時候會有兩種方式https和ssh

1、Linux中免密碼push和pull(使用https方式)

1、cd ~
2、vi .git-credentials
        在裡面寫入  https://{username}:{password}@github.net
3、git config --global credential.helper store

2、windows系統中設定免密碼

windows下面的 ~ 就是這個目錄  C:\Users\ZBLi
【注】在windows下面建立以點 開頭的檔案,需要使用gitbash
開啟gitbash
然後和上面的操作一模一樣,完成後只有第一次需要輸入密碼

3、使用ssh方式免密碼登入

1、使用 ssh-keygen 生成公鑰和私鑰,直接按3個回車即可
2、在  ~/.ssh/id_rsa.pub 裡面的內容複製到coding上面的個人設定公鑰中
3、git clone [email protected].coding.net:phpmonkey/hehe.git  即可

八、衝突解決

a和b同時修改同一個檔案的同一行程式碼就會產生衝突,如果a先push,那麼b在push的時候就會報錯。所以,為了保險起見,只要想向服務端push內容,首先需要pull內容,pull下來之後就會將服務端的程式碼和本地的程式碼進行合併,如果有衝突,就會顯示衝突(git diff),如果沒有衝突,那就合併成功,然後再push上去即可,如果有衝突,商量解決衝突即可

git pull    下拉檔案
git diff    檢視衝突

九、分支學習

主分支:master,預設分支
新建分支: git branch 分支名
檢視分支: git branch
切換分支: git checkout 分支名
(實際專案中,每個人都要在自己的分支上工作,最後再合併到如果要在master
上面合併分支,需要先切回到master(master是預設的主目錄)

合併分支: git merge +分支名字
刪除分支:git brunch -d +分支名
(如果分支沒有合併不能刪除)
強制刪除: git brunch  -D +分支名字
(如果分支沒有合併要刪除可以使用)

十、開發步驟

一個master,一個dev

(1)新建一個dev
(2)切換到dev進行開發
(3)在dev新增檔案並且提交檔案
(4)切換到master分支
(5)將dev分支合併到master分支
            git merge dev
(6)推送master到服務端
(7)繼續切換到dev進行開發

十一、git常用操作小總結

 git init    =====  建倉庫, 初始化Git倉庫

git add 說明.txt  =====     把檔案(這裡指“說明.txt")納入暫存區(還沒有真正納入版本控制,需要再一步確認)

git status =======檢視暫存區狀態

git commit  -m '...'  提交納入倉庫(要寫原因所以要加 -m)====git commit  -m  "說明內容"

注意:第一次提交需要先提交姓名和郵箱,否則會報錯

git log  ===== 檢視提交日誌

git  checkout  - -  ====刪除檔案還原:

git reset  -- hard     =====版本號碼(至少寫五位)       回到歷史版本號版本

git reflog    =======   回到刪除的未來版本(過去將來時)

十二、兩個小案例

1.在Linux本地做版本控制

(1)在使用者主目錄建立資料夾,命名為gitdemo====mkdir gitdemo

進入資料夾cd    gitdemo--->ls檢視
[[email protected] ~]# mkdir gitdemo
[[email protected] ~]# ls
abc   def       eakkkk.txt  git-2.18.0.tar  index.html    mycal.py  Python-3.6.5      
code  dump.rdb  git-2.18.0  gitdemo         index.html.1  mysql     Python-3.6.5.tar 

(2) git初始化,將gitdemo資料夾變成git倉庫==git init

[root@izwz9ao2nl8wvmgaymeyr0z ~]# git init 

(3)建立一個文字檔案,命名為hello.txt,放入內容==echo命令,用 >進行重定向

echo”Hello,Git” > “hello.txt” 注意:輸出重定向符號 >
=====將Hello,Git內容顯示在hello.txt檔案中,再次輸出內容 不變

檢視檔案寫好了沒有 cat hello.txt

可以再追加一點內容

echo "goodbey world" >> hello.txt

(4)將內容納入版本控制===git add+檔名

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git add hello.txt

完成這一步並沒有真正的納入版本控制,只是放到了暫存區(是隱藏檔案)

通過命令ls -a 可以 檢視該路徑下所有檔案(包括隱藏檔案,a代表all),看到隱藏檔案…git

[[email protected] gitdemo]# ls -a
.  ..  .git  hello.txt

【補充命令操作】

git rm –cashed +檔名 撤銷刪除檔案( 內容已經放到暫存區了,把刪除的檔案撤銷刪除,從暫存區拿回)

git checkout – hello.txt 工作區寫的檔案b還沒有放到暫存區,把暫存區檔案a拿回來回到工作區,用暫行區內容a覆蓋工作區內容b(注意雙連線線兩側的空格)

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# rm hello.txt
rm: remove regular file ‘hello.txt’? y
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls      此時檔案顯示為空
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git checkout -- hello.txt
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls    此時檔案恢復回來
hello.txt
 [root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# cat hello.txt 
 ==檢視一下文字內容,也沒有丟失,重新恢復
Hello,Git
goodbey World

(5)提交到=====git commit -m 提交(-m的目的是要求寫原因)

[[email protected]]# git commit -m "新增了hello.txt檔案"
1 file changed, 2 insertions(+)
 create mode 100644 hello.txt
 【注意】第一次提交前需要進行全域性設定,使用者名稱和郵箱,名字任意
[root@izwz9aor0z gitdemo]# git config --global user.email 
"333@example.com"
[root@izwzymeyr0z gitdemo]# git config --global user.name "hao"

(6)【補充】–其他操作

每次提交會產生一個日誌git log ====檢視日誌

[[email protected] gitdemo]# git log
commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)
Author: hao <333@example.com>
Date:   Mon Jul 30 09:47:47 2018 +0800

    新增了hello.txt檔案

檢視歷史版本=======git reset –hard +版本號(最少5位)可以找到歷史版本

            方法二:**git reset --hard HEAD^**======回到當前版本的上一個版本

【例】對這兩種方法演示

步驟a: 先複製一個檔案,這利用之前的code檔案下的share_fish為例

注: Linux cp命令主要用於複製檔案或目錄。
格式: cp ./code/test/ newtest====將code目錄下的test檔案複製到新目錄newtest

[root@iaymeyr0z gitdemo]# cp ../code/share_fish.py ./    將分魚檔案複製到當前檔案
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# ls
hello.txt  share_fish.py
 步驟b:   新增share_fish檔案,並查狀**態git add和git status命令**
[[email protected] gitdemo]# git add share_fish.py
[[email protected] gitdemo]# git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    new file:   share_fish.py
 步驟c:提交----此時資料夾下增加了分魚檔案,此時提交git commit -m
[[email protected] gitdemo]# git commit -m "新增了share_fish.py檔案"
[master f6fb32a] 新增了share_fish.py檔案
 1 file changed, 22 insertions(+)
 create mode 100755 share_fish.py

步驟d:檢視日誌git log,此時出現了兩個版本

[[email protected] gitdemo]# git log
commit f6fb32a62450153c7213cd408c1aa1851268715d (HEAD -> master)
Author: hao <333@example.com>
Date:   Mon Jul 30 09:58:49 2018 +0800

    新增了share_fish.py檔案

commit 37e58587772d49119a14b68decc02ed155945d06
Author: hao <333@example.com>
Date:   Mon Jul 30 09:47:47 2018 +0800

    新增了hello.txt檔案

注意:最新的版本head指向誰誰就是最新版本

步驟e:回到剛才版本======git reset –hard HEAD^

[[email protected] gitdemo]# git reset --hard HEAD^
HEAD is now at 37e5858 新增了hello.txt檔案
[[email protected] gitdemo]# git log
commit 37e58587772d49119a14b68decc02ed155945d06 (HEAD -> master)
Author: hao <333@example.com>
Date:   Mon Jul 30 09:47:47 2018 +0800

    新增了hello.txt檔案

注意;此時回到了之前的版本,想檢視剛才的分魚檔案用git log 檢視不到,需要用過去將來式git reflog檢視

[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git reflog
37e5858 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
f6fb32a HEAD@{1}: commit: 新增了share_fish.py檔案
37e5858 (HEAD -> master) HEAD@{2}: commit (initial): 新增了hello.txt檔案

步驟f:現在想從目前為止恢復回來share_fish狀態,不能用git reset –hard HEAD^了,需要用歷史版本號,通過上面的程式碼我們找到檔案程式碼為f6fb32a

[[email protected] gitdemo]# git reset --hard f6fb32a
HEAD is now at f6fb32a 新增了share_fish.py檔案
[[email protected] gitdemo]# ls
hello.txt  share_fish.py
2.Linux本地和伺服器專案做關聯(以coding網為例)

本地實施完想放到雲端,(即本地做了版本控制,在雲端建了專案)一般先在伺服器將倉庫建好,然後再克隆clone下來,往裡面加東西。

(1)登入coding新建專案,命名為gitdemo;生成專案的URL,複製一下

(2)加遠端倉庫

【命令】git remote add origin +url地址======關聯遠端倉庫(origin是預設的)

root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git remote add origin https://git.coding.net/qingpingle/gitdemo.git

這樣本地和遠端專案建立聯絡

(3)配置環境變數(否則會報錯):

進主目錄 —->s輸入vim .bash profile

在path後面新增====PATH=$PATH:/usr/local/python36/bin/usr/local/libexec/git-core

(4)將遠端倉庫的內容pull到本地:

     git pullhttps://git.coding.net/jackfrued/gitdemo.git master  

    git pull =====從遠端的master分支拉下來

將本地已經實施了版本控制的內容push到遠端倉庫:

     **【命令】git push origin master     (注意第一次使用,需要-u,目的是為了本地和遠端做合併)**

       push  -u  (第一次要-u,這樣才能實現本地和遠端的合併,下一次就不用 - u了)
[root@izwz9ao2nl8wvmgaymeyr0z gitdemo]# git push -u origin master
Username for 'https://git.coding.net': 

(5)部署公鑰(coding專案中左側部署公鑰選擇,將生成的金鑰可貼上進去)

【命令】ssh-keygen===生成金鑰對

輸入格式(注意空格和大小寫)=====ssh-keygen -t rsa -b 4096 -C”[email protected]”(郵箱地址)

注意: rsa(加密型別)

    ***4096(密碼的強度)**
Enter file in which to save the key (/root/.ssh/id_rsa): 
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):                   這裡輸入直接跳過
Enter same passphrase again:                                    跳過,一直回車,最後顯示出金鑰
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:gPbFDtmdioByI4S+E0tJL7PF3OyZXK9/1mZe5wxkAcs [email protected]126.com
The key's randomart image is:
+---[RSA 4096]----+
|..          .    |
|o. . . + . o o   |
|= O * + + o E .  |
| @ B = B .     . |
|. O o * S     o  |
| =   =   .   o   |
|  .     .   . ...|
|       .   o +.+.|
|        ..o +.  o|
+----[SHA256]-----+

此時在 cd /root/.ssh中會生成檔案id_rsa

root@izwz9ao2nl8wvmgaymeyr0z ~]# cd .ssh
[root@izwz9ao2nl8wvmgaymeyr0z .ssh]# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts

cat id_rsa.pub

[[email protected] .ssh]# cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDerB2x/lVOBz5LjR+mhJpigcPXMSwHsiPdK81AKo7lagvP6250aNVoRTouhEaGtDg646CVTknXhF2L5nLMSLjCf3LwtOnu6/eI685LBJ/JCgyAdE73aBRR+mRLeQkRIAdPUy3oNOmnQ1UMX/TeJj3hBr+lDmxmNleSUle7TIl3hHDbQcNHTFnNgWAY4Qn/hujq6rp9fekd594YfuR8Ykd+tJjUHCteQElWRhSxckFQYbJ41d+XgugrVtO18PDZGEvkOTmimwzZylbwnCQDwbGiSDfXZZYuqNH0ZzyqJpyO9CUAh3GzVERuAsJM/f28VoyGRJQSwPivOXsVTgvGy/e4tDpYZ/BIcc03CArcxy8Ztvp2nJYXtca8EasDVwqXneB5nMQoYn2pJg5/SaPU+pPo+Nb4J6e1ea7WwcXjhgM3dpU3rhOko75ZPkX+RvaNH7jHrt5UXDO6uADKT7r9jnhhsznU41E+ifxXSZpg4nGS9DIKY2YyNUAiiQOpU0BsxrsZQTbue1gbbMN1/3CjkVTeX7nFVlBARpauQ3MSc8TwnFSm6CXnDbUfYkymzCzVAMJl7PhC6UQ8gHv4J+GychS/jkhbB2y9NPRTc1Bd6vG5anakRtG2DROOmVmFGQ0b9GegZ1FScL0MtNEwYsYqFrGQSeHp8opxVjsDeo6bOOI5Ww== SSSDAD@126.com

將公鑰貼上到coding專案中“部署公鑰”

(5)克隆到本地並建分支

在coding網新建專案gitflow

複製Url

git clone +url=====克隆到本地

git branch new-cool-function(新分支名字) =====建分支,命名為new-cool-function

git checkout new-cool-function(分支名字) ====== 切換到分支(這裡分支名字為new-cool-function)

git checkout -b issue -1120 =======建立並切換到這個分支,即如果沒有分支會直接建立這個分支(常用)

(實際專案中,每個人都要在自己的分支上工作,最後再合併到

如果要在master上面合併分支,需要先切回到master**(master是預設的主目錄)**

git merge +分支名字 =======合併分支

git brunch -d +分支名字======刪除分支

(如果分支沒有合併不能刪除)

git brunch -D +分支名字====強制刪除

(如果分支沒有合併要刪除可以使用)

相關推薦

版本控制Git完美整理

版本控制Git 一.Git是什麼 版本控制工具!Git是目前世界上最先進的分散式版本控制系統(沒有之一)。 這個軟體用起來就應該像這個樣子,能記錄每次檔案的改動 這樣,你就結束了手動管理多個“版本”的史前時代,進入到版本控制的20世紀。 二

HTML5學習第6篇—video:自己實現video的播放控制元件新增樣式

     本篇部落格接著上一篇文章,實現了一個帶樣式的video播放控制元件,程式碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

ORACLE EBS常用表及查詢語句最終整理

 轉自 :https://blog.csdn.net/cai_xingyun/article/details/38016687 建議去看參考二   參考一:                

POJ試題分類 最新整理

一個超級棒的刷題整理,,以後加油? 轉載請註明出處: by EXP http://exp-blog.com/2018/06/28/pid-38/ 相關推薦文: 舊版POJ分類目錄: http://exp-blog.com/2018/06/10/pid-136/ ACM絕版資

Markdown 語法手冊 完整整理

一、參考 二、注意事項 1、建立表格列寬不能設定問題 (1)正常建立表格時,列的內容短於列標題時,列標題會換行顯示 (2)列寬不能設定,列的內容較多時排列不美觀 (3)使用makedown語法如下生

第五套.java高階架構師2017整理無加密

百度雲盤連結: https://pan.baidu.com/s/1q_sD3za2PuSnQBoC4NW51w 連結失效,加微信:sun_sha_tan   01-java高階架構師設計-基礎深入等多個檔案 02-java高階架構師設計-JavaEE拓展 03-ja

Markdown 語法手冊 完整整理轉抄

CNMB CSDN,我要下載積分。SBSB 以下抄襲,隨便找的。 1. 斜體和粗體 程式碼: *斜體*或_斜體_ **粗體** ***加粗斜體*** ~~刪除線~~ 顯示效果: 這是一段斜體 這是一段粗體 這是一段加粗斜體 這是一段刪除線 2

使用Docker-Compose建立ElasticSearch 6.4版本單機環境含叢集

配置docker-compose.yml檔案如下: elasticsearch:     image: elasticsearch:6.4.0     environment:       - http.cors.enab

用於硬體設計的開源版本控制系統Git

本文轉自:http://www.eetop.cn/blog/html/28/1561828-437263.html 版本控制系統是每一個開發流程中不可或缺的一部分。傳統上,硬體設計公司為單獨一個工程使用一箇中央版本控制系統,但這樣會強加給硬體團隊很大的侷限性。一個流行的可緩解此問題的解決方案就是

版本控制-Git的基礎使用windows下

這裡介紹一下Git的基礎使用。(使用者的key配置可以百度,沒有key不能遠端倉庫push或者pull) 1.安裝Git 下載之後,一路下一步安裝即可。 2.初步瞭解Git 對於git倉庫,有三個區域,分別是: -working directory工作區 -s

Git版本控制工具----git的安裝及建立版本

本文並非原創性文章。 【正文】 一、初識Git: Git是目前世界上最先進的分散式版本控制系統(沒有之一)。它的開發者就是大名鼎鼎的Linux作業系統的作者Linus Torvalds。Git被開發出來的初衷是為了更好的管理Linux核心,而現在卻廣泛應用於各種專案

iOS版本控制工具SVN,GIT,SourceTree

公司的實際開發中,在天朝使用較多的還是SVN,因為SVN是集中式的,在天朝上班你們都懂的!  -----------------svn-----------------   一:最常用基本步驟--- 下載(完整下載,第一次),將伺服器的專案下載到本地開始開發 sv

vim 常用快捷鍵整理

同時 包括 記錄 any syntax noi use clas string 最常用: x 刪除後面的字符 X 刪除前一個字符 刪除3個字符就是3x dd:刪除一行 D 刪除到行尾 J:刪除換行符,使下一行並上來。 nJ:連接後面的n行 u

[sql] 常用函數整理T-SQL

pla weekday 可能 小時 string 時間函數 -s 工作日 整數 USE master; --5.2 字符串函數 --1.計算字符串長度 SELECT LEN(‘abc‘); --2.字符串轉換為小寫 SELECT ‘A‘, L

十三、IntelliJ IDEA 中的版本控制介紹

點擊 遠程 analysis 介紹 rem 相關 目錄 IT 默認 我們已經簡單了解了 IntelliJ IDEA 的版本控制機制,那麽接下來,就讓我們一起看看在 IntelliJ IDEA 中進行具體的版本控制操作。 標註1:Checkout from Version

JAVA 程式設計題解與上機指導第四第三章表達式和流程控制語句 題3.9

/**3.9編寫列印乘法口訣表*/ public class MultipleTable { public static void main(String args[]) {MultipleTable multiple=new MultipleTable(); int n=

傳輸控制協議transmission control protocol——TCP 整理

概述 TCP 使用 GBN 和 SR 協議的組合來提供可靠性。為了實現這個目的,TCP 使用校驗和(為差錯發現)、丟失或被破壞分組重傳、 累積和選擇確認以及計時器。     TCP服務 1、TCP使用埠號來實現程序間通訊 2、TCP 是一個面向流的協議。T

【MYSQL學習筆記02】MySQL的高階應用之Explain完美詳細,看這一篇就夠了

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wx1528159409 最近學習MySQL的高階應用Explain,寫一篇學習心得與總結,目錄腦圖如下: 一、Explain基本概念 1. Explain定義 · 我們知道M

集中式VS分散式版本控制系統

Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分散式版本控制系統,集中式和分散式版本控制系統有什麼區別呢? 集中式版本控制系統,版本庫是集中存放在中央伺服器的, 而幹活的時候,用的都是自己的電腦,所以要先從中央伺服器取得最新的版本,然後開始幹活,幹完活了,再

centos7搭建git伺服器多使用者

建立倉庫並分享到組: git init --shared=group test 建立組: groupadd git 切換專案所屬組: chgrp -R git test 建立使用者1: useradd test1 -g git passwd test1 建立使用者2