版本控制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