svn和git的安裝使用

1.1subversion安裝
yum install -y subversion httpd

1.1.1服務的準備
使用cat /etc/service |grep svn 可以看到服務的默認端口3690

[root@master01 ~]# cat /etc/services |grep svn
svn             3690/tcp                        # Subversion
svn             3690/udp                        # Subversion
svnetworks      2973/tcp                # SV Networks
svnetworks      2973/udp                # SV Networks
svnet           3413/tcp                # SpecView Networking
svnet           3413/udp                # SpecView Networking
ml-svnet        4171/tcp                # Maxlogic Supervisor Communication

mkdir /webdept 創建svn的主目錄

1.1.2 創建版本庫(項目分支)

svnadmin create /webdept/www.zhuifeng.cn
svnadmin create /webdept/www.ilinux.io
[root@master01 ~]# ll /webdept/www.zhuifeng.cn/
總用量 8
drwxr-xr-x. 2 root root  54 8月  22 19:21 conf
drwxr-sr-x. 6 root root 233 8月  22 19:21 db
-r--r--r--. 1 root root   2 8月  22 19:21 format
drwxr-xr-x. 2 root root 231 8月  22 19:21 hooks
drwxr-xr-x. 2 root root  41 8月  22 19:21 locks
-rw-r--r--. 1 root root 229 8月  22 19:21 README.txt
[root@master01 conf]# ls 
authz  passwd  svnserve.conf

svnadmin create命令創建了分支的架構
conf下存放用戶的賬號密碼權限等配置文件

2.1.1svn運行方式之獨立運行模式
啟用svnserver.conf如下幾行

[root@master01 conf]# grep ^[a-z] svnserve.conf 
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository #登錄提示語

在passwd里添加用戶和密碼

[root@master01 conf]# grep ^[^#] passwd 
[users]
Make = 123456
MAN = 123456
top = 123456

在authz里定義用戶和用戶組權限

[root@master01 conf]# grep ^[^#] authz 
[groups]
check = Make,MAN #定義check組
[/]                             #定義當前版本庫根目錄及www.zhuifeng.cn
top = rw
@check = r              #定義check組權限
* =                            #定義其他人的權限,為空則沒有任何權限

2.1.2 運行svn

svnserve -d -r /webdept/ #會運行svn下所有分支,在目錄后指向某個分支可單獨運行那個分支
[root@master01 conf]# netstat -tunlp|grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      70390/svnserve

-d 以守護進程運行
-r 以root用戶運行
服務已啟動

2.1.3 建立測試頁面來提交代碼
mkdir /localsvn
cd /localsvn && touch 1.html 2.jsp 3.php
提交這三個頁面
svn import /root/localsvn/ file:///webdept/www.zhuifeng.cn/ -m "first edit"
-m 版本信息

2.1.4下載代碼

[root@master01 ~]# svn checkout svn://10.10.10.27/www.zhuifeng.cn/ downsource #downsource會在當前目錄下自動建立并將代碼down到此處
認證領域: <svn://10.10.10.27:3690> My First Repository
“root”的密碼: 
認證領域: <svn://10.10.10.27:3690> My First Repository
用戶名: Make
“Make”的密碼: 

-----------------------------------------------------------------------
注意!  你的密碼,對于認證域:

   <svn://10.10.10.27:3690> My First Repository

只能明文保存在磁盤上!  如果可能的話,請考慮配置你的系統,讓 Subversion
可以保存加密后的密碼。請參閱文檔以獲得詳細信息。

你可以通過在“/root/.subversion/servers”中設置選項“store-plaintext-passwords”為“yes”或“no”,
來避免再次出現此警告。
-----------------------------------------------------------------------
保存未加密的密碼(yes/no)?no
A    downsource/3.php
A    downsource/2.jsp
A    downsource/1.html
取出版本 1。

2.1.5寫數據并提交
echo "<h1>svn</h1>" > downsource/1.html
svn commit -m "second edit"
Make用戶沒有寫權限
按空格跳過切換top用戶提交

2.2svn的httpd運行
svn的web運行方式和獨立運行方式是不相關的
svn的httpd運行依賴httpd的mod_dav_svn.so模塊和mod_authz_svn.so模塊
yum install mod_dav_svn -y
ls -l /etc/httpd/modules/mod_dav_svn.so
ls -l /etc/httpd/modules/mod_authz_svn.so

vim /etc/httpd/conf.d/subversion.conf
<Location /webdept>
   DAV svn                     
   SVNParentPath /webdept                         #svn根目錄              
      AuthType Basic                              #Basic認證方式                          
      AuthName "www.zhuifeng.cn website Dept"       #認證顯示信息,提示信息       
      AuthUserFile /webdept/svn/passwd            #用戶密碼文件          
      AuthzSVNAccessFile  /webdept/svn/authz      #訪問控制權限文件      
      Require valid-user                          #要求正式用戶,不能匿名                          
</Location>
復制粘貼請使用這個:
<Location /webdept>
   DAV svn
   SVNParentPath /webdept
      AuthType Basic
      AuthName "www.zhuifeng.cn website Dept"
      AuthUserFile /webdept/svn/passwd
      AuthzSVNAccessFile  /webdept/svn/authz
      Require valid-user
</Location>

mkdir /webdept/svn
htpasswd -c /webdept/svn/passwd user1 #apache創建認證用戶 ,第一次創建要加-c,第二次以后不需要
htpasswd /webdept/svn/passwd user2
htpasswd /webdept/svn/passwd user3

[root@master01 downsource]# cat /webdept/svn/passwd 
user1:$apr1$zgqCz0ZE$kjkdFtzJEmGcjQC4rHZ2X.
user2:$apr1$g9SLwEkN$fpymAz51r6mUnLsXEqQEb1
user3:$apr1$6Cs9TpLO$asS/h2KMtnN.9MHs1nvNT0

[root@master01 downsource]# cat /webdept/svn/authz 
[groups]
all = user1,user2
[/]
#user1 = rw
[www.zhuifeng.cn:/]
@all = rw
[www.ilinux.io:/]
user2 = rw
user3 = rw 

啟動httpd
訪問http://10.10.10.27/webdept/www.zhuifeng.com

3.1svn正式使用方式TortoiseSVN,windows平臺的
安裝之后寫入http://10.10.10.27/webdept/www.zhuifeng.com
把 /webdept/www.zhuifeng.com的屬主組改apache
即可
4.1git
對于任何一個文件,在 Git 內都只有三種狀態:已提交(committed),已修改(modified)和已暫存(staged)。已提交表示該文件已經被安全地保存在本地數據庫中了;已修改表示修改了某個文件,但還沒有提交保存;已暫存表示把已修改的文件放在下次提交時要保存的清單中

基本的 Git 工作流程如下:
1.在工作目錄中修改某些文件。
2.對修改后的文件進行快照,然后保存到暫存區域。
3.提交更新,將保存在暫存區域的文件快照永久轉儲到 Git 目錄中。

4.1.1安裝git的server
yum install git -y
useradd -m git 創建git用戶
echo git:123456|chpasswd
su git 切換至git
cd 切換至家目錄
mkdir project.git 建立倉庫

[git@master01 project.git]$ git init --bare
初始化空的 Git 版本庫于 /home/git/project.git/

4.1.12 git的常用命令
git config --global user.name “name“ #設置全局用戶名
git config --global user.email mail #設置全局郵箱
git config --global --list #列出用戶全局設置
git add index.html #添加文件到暫存區
git commit -m “描述內容“ #提交文件到工作區
git status #查看工作區的狀態
git push #提交代碼到 git 服務器上
git pull #獲取代碼到本地
git log #查看操作日志
vim .gitignore #定義忽略文件
git reset --hard HEAD^ #git 版本回滾, HEAD 為當前版本,加一個為上一個,^為上上一個版本
git reflog # #獲取每次提交的 ID,可以使用--hard 根據提交的 ID 迚行版本回退
git reset --hard 5ae4b06 #回退到指定 id 的版本

git branch #查看當前所處的分支

git checkout -- file #從服務器更新某個那文件覆蓋本地的文件

4.1.2方法1
在客戶機上同樣安裝git,mkdir git
第一次使用時要配置git工作環境,要配置個人的用戶名稱和電子郵件地址
git config --global user.name "XXXX"
git config --global user.name "XXXX@admin.com"
vim /root/.gitconfig
此為全局配置,如果要只針對某個新項目可以這樣做
git clone http://10.10.10.27/xuegod/xuegod-web1.git
cd xuegod-web1
git config user.name "XXXX"
git config user.name "XXXX@admin.com"
或 vim .git/config

cd git
git clone git@10.10.10.27:/home/git/project.git/
echo "No.1" > 1.html
git add .
git commit -m "NO.1"
git remote add orgin git@10.10.10.27:/home/git/project.git/
git push origin master

回滾操作
刪除index.html
使用git reset --hard HEAD回滾到最新版
查看每次提交的id
[root@master01 xuegod-web1]# git reflog
a7ea0fd HEAD@{0}: commit (initial): add bbs

在服務器創建分支
[root@xuegod63 xuegod-web]# git branch bbs #創建一個分支
[root@xuegod63 xuegod-web]# git checkout bbs #切換到分支 bbs
[root@xuegod63 xuegod-web]# git branch #查看當前所處的分支
[root@xuegod63 xuegod-web]# vim a.txt #隨意在里面寫一些內容
[root@xuegod63 xuegod-web]# git add a.txt
[root@xuegod63 xuegod-web]# git commit -m "add a.txt“ #提交到暫存區中
[root@xuegod63 xuegod-web]# git push -u origin bbs #上傳到分支 bbs 分支上

方法2:windows的git工具

Git 中 pull 和 clone 的區別

clone 是本地沒有 repository 時,將遠程 repository 整個下載過來。

pull 是本地有 repository 時,將遠程 repository 里新的 commit 數據(如有的話)下載過來,并且與本地代碼merge。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容