Svn & Git
他們兩個都是代碼管理工具
Svn
服務端
服務端的界面是這個樣子的。
可以通過服務端,獲得代碼倉庫的地址,修改代碼倉庫的管理者。給管理者分權限等等一系列操作。
客戶端
- 如果你是項目的新人,第一次需要先checkout來下載當前的項目,點擊之後會彈出一個窗口,輸入倉庫的地址,點擊確定,下載遠程倉庫的代碼,以後都是update。
- 提交文件的話,右鍵
svn commit
,然後輸入需求編號,員工的工號,還有日誌的信息 - 如果本地代碼版本和服務器上的代碼版本不一致,是不會讓你提交的,會報錯。這時候需要更新,而且你寫的代碼依然存在(只要你們修改的不是同一行,有衝突的可能性)
- 如果很巧,有兩個人同時修改了同一行,那麼SVN會返回幾個版本。(其中有你修改的,別人修改的,服務器上的版本,然後按照需求來接着修改代碼)
- 提交之前要對比一下,確認好了之後在提交(可以使用beyondCompare對比工具)
- 不要刪空格和tab鍵,不然會衝突的(因爲tab和空格在樣子上是看不出來的)
- 自己的錯誤一定要及時改正。
- 變量要拼對了單詞。
- 如果誰給你刪了代碼,查看log,就可以通過工號來罵他了。
- 回退版本
show log
,之後在想要回退的版本上update to revision
。
使用場景
- 程序員做需求之前要更新代碼
- 功能寫完,自測沒有問題之後,(確保工程能夠啓動起來),提交代碼。
代碼環境
- 敏捷環境:開發人員使用,所有的開發人員公用一個環境。(開發週期變短)
- 冒煙環境:測試人員使用的。(一天/半天一同步),基本上就是生產環境,除了數據不太一樣
- 生產環境:版本迭代,前期的程序員估計用不到。
Git
簡介
-
林納斯:Linux 內核的創始人,開源系統,代碼管理工具對Linux開源,然而管理工具不讓用了,所以它又做了個Git(非常牛逼),誕生背景。
-
我們可以通過這一張圖來搞定Git的常用命令,圖中從右到左分別是工作區、暫存區、本地倉庫、遠程倉庫
-
先說一下大體叭:右面的這些(除了
Remote
),都是我們本地的,而Remote
是遠端代碼倉庫,我們最後要從Repository
推送到Remote
中。
分類
- 集中式倉庫:集中一起來開發,公司經常用,合作模式
- 分佈式倉庫:分佈到各個電腦上,個人開發可以使用
過程
初始化
在一個空文件夾下,鼠標右鍵打開Git Bash
,鍵入命令git init
,創建一個.git
的隱藏文件夾。
配置:輸入你的名字和郵箱,之後可以在config
文件中查看到
創建文件並添加到暫存區
在文件夾下新建a.txt
,然後通過命令git add a.txt
添加到暫存區,(可以通過git add .
添加所有修改的文件,就不需要老打文件名字了。)然後通過git status
查看狀態。
從暫存區提交到倉庫
通過命令 git commit -m '提交日誌'
,提交到本地倉庫中。(強制輸入提交日誌,會進入vim,通過:wq
保存退出。)
查看日誌
可以通過git log
查看詳細日誌,通過git log --oneline
查看簡單的日誌。
如果以後把這個窗口關閉了,然後還想看所有的log
,可以通過git reflog
查看所有日誌。
回退版本
通過git reset --hard 哈希值
,回退版本。
推送到Github
克隆倉庫
點擊你的github
倉庫上的Clone
。
在本地文件夾裏鍵入git clone 你的倉庫地址
添加遠端倉庫地址
通過:git remote add origin 倉庫地址
推送到遠端
通過git push