前言
團(tuán)隊開發(fā)有主流有兩種方式遭殉,分別是SVN 和Git,SVN是集中式管理,Git是分布式管理秒赤,他們的區(qū)別關(guān)鍵在于網(wǎng)絡(luò)猪瞬,SVN(必須要用網(wǎng)絡(luò),因為集中式管理需要服務(wù)器的入篮,相當(dāng)于服務(wù)器是一個大倉庫陈瘦,所有人代碼都要傳到這個倉庫)Git可以不用網(wǎng)絡(luò)(因為每一個人都相當(dāng)于一個虛擬的小倉庫)。
1 維護(hù)代碼是通過網(wǎng)絡(luò) 從遠(yuǎn)端服務(wù)器克隆一份代碼到本地(clone)相當(dāng)于拷貝出代碼+小倉庫崎弃,提交是可以選擇提交到本地的虛擬倉庫(不需要網(wǎng)絡(luò)),然后可以將這個小倉庫在提交(push)到遠(yuǎn)端服務(wù)器大倉庫里面含潘,每一個小倉庫之間是互不影響的饲做。
SVN 是直接copy代碼,提交的時候只能提交到遠(yuǎn)端服務(wù)器里面遏弱,每個人相互之間提交可能出現(xiàn)影響盆均。
2 SVN 創(chuàng)建一個文件提交的時候要先add一下,修改的時候漱逸,直接commit一下就行了泪姨,而Git首先也是add一下,但是修改時每次都需要先add再commit 新修改的文件替換以前的文件饰抒。
純命令管理
創(chuàng)建本地倉庫
1肮砾、初始化自己一個普通文件夾為本地倉庫文件夾
cd 獲取普通文件夾路徑 然后 git init 這時候文件夾里面有隱藏的git文件夾,怎樣顯示隱藏文件夾呢
打開終端袋坑,輸入:
defaults write com.apple.finder AppleShowAllFiles -bool true 此命令顯示隱藏文件
defaults write com.apple.finder AppleShowAllFiles -bool false 此命令關(guān)閉顯示隱藏文件
命令運行之后需要重新加載Finder:快捷鍵option+command+esc仗处,選中Finder,重新啟動即可
git文件夾里面的配置文件 (里面是不放代碼的枣宫,代碼跟git文件夾是同級文件)
conflg 配置文件
description 描述文件
HEAD 版本
hooks文件夾 鉤子文件 (超級NB 寫好后可以對新提交的文件進(jìn)行運算 自動找到bug)
info文件夾 本地倉庫的信息文件
objects文件夾
refs文件夾 日志
2婆誓、查看當(dāng)前本地倉庫的狀態(tài)
git status
如果有要提交的東西會顯示為紅色(意味著根本就沒進(jìn)入臨時倉庫中)
3、要提交新的文件
? ?a也颤、先add filename(文件名)
? ?git status
會發(fā)現(xiàn)文件變綠色(也就以為著洋幻,文件已經(jīng)放到臨時倉庫中)
? ? b、再提交 git commit (每次都需要add 和 commit)
連綠色文件都沒了(意味著提交成功翅娶,也就是臨時倉庫中的文件提交到真正的倉庫中去了)
commit之后文留,會進(jìn)入vim編輯器寫一些修改信息的描述的
(如果不想進(jìn)入vim編輯器寫描述信息,可以在commit的時候直接加上描述信息
git commit -m"你的描述信息")
4竭沫、查看之前的提交版本信息
git log 會打印之前所有的版本信息
想要看之前的版本信息更清楚一點厂庇,可以用下面的命令
git reflog (這個是看版本的前七位數(shù))
5、回到某一個版本
commit 提交之后回版本的操作
回到前一個版本
git reset --hard HEAD^
回到前面某個版本
git reset --hard 版本號
提交(commit)之前要想回到上一個版本
一種:git reset --hard HEAD
二種:git checkout main.m
或者 git checkout HEAD main.m
注意:HEAD 之后的 托字符 ^
commit 之后的"回上一版本操作"要加上^
commit 之前的"回上一版本操作"不加^
6输吏、查看所修改過的地方
git diff
紅色的代表是自己刪除過的
綠色的代表是自己修改過的