git與svn的區別
git與svn都用於檔案的版本控制,但是其有以下不同點:
git安裝配置
linux平台安裝
git 的工作需要呼叫 curl,zlib,openssl,expat,libiconv 等庫的**,所以需要先安裝這些依賴工具。
以centos/redhat為例:
$ yum install curl-devel expat-devel gettext-devel \
openssl-devel zlib-devel
$ yum -y install git-core
$ git --version
git version 1.7.1
windows平台安裝
在開始選單裡找到"git"->「git bash」,會彈出 git 命令視窗,你可以在該視窗進行 git 操作。
git配置
git 提供了乙個叫做 git config 的工具,專門用來配置或讀取相應的工作環境變數。
這些環境變數,決定了 git 在各個環節的具體工作方式和行為。這些變數可以存放在以下三個不同的地方:
在 windows 系統上,git 會找尋使用者主目錄下的 .gitconfig 檔案。主目錄即 $home 變數指定的目錄,一般都是 c:\documents and settings$user。
此外,git 還會嘗試找尋 /etc/gitconfig 檔案,只不過看當初 git 裝在什麼目錄,就以此作為根目錄來定位。
使用者資訊
$ git config --global user.name "runoob"
$ git config --global user.email [email protected]
如果用了 --global 選項,那麼更改的配置檔案就是位於你使用者主目錄下的那個,以後你所有的專案都會預設使用這裡配置的使用者資訊。
如果要在某個特定的專案中使用其他名字或者電郵,只要去掉 --global 選項重新配置即可,新的設定儲存在當前專案的 .git/config 檔案裡。
文字編輯器
$ git config --global core.editor emacs
差異分析工具
還有乙個比較常用的是,在解決合併衝突時使用哪種差異分析工具。比如要改用 vimdiff 的話:
$ git config --global merge.tool vimdiff
檢視配置資訊
要檢查已有的配置資訊,可以使用 git config --list 命令:
有時候會看到重複的變數名,那就說明它們來自不同的配置檔案(比如 /etc/gitconfig 和 ~/.gitconfig),不過最終 git 實際採用的是最後乙個。
工作流程
你的本地倉庫由 git 維護的三棵「樹」組成。第乙個是你的工作目錄,它持有實際檔案;第二個是暫存區(index),它像個快取區域,臨時儲存你的改動;最後是head,它指向你最後一次提交的結果。
建立新倉庫
建立新資料夾,開啟,然後執行:git init
便可以建立新的git倉庫。
檢出倉庫
執行如下命令以建立乙個本地倉庫的轉殖版本:
git clone /path/to/repository
如果是遠端伺服器上的倉庫,你的命令會是這個樣子:
git clone username@host:/path/to/repository
新增和提交
針對工作目錄裡的檔案,你可以進行修改。若想把檔案新增到暫存區,使用以下命令:
git add
用以新增乙個檔案。
或
git add .
用以新增當前專案的所有檔案。
這是 git 基本工作流程的第一步。
使用如下命令以實際提交改動:
git commit -m "**提交資訊"
現在,你的改動已經提交到了 head,但是還沒到你的遠端倉庫。
推送改動
執行如下命令以將這些改動提交到遠端倉庫:
git push origin master
可以把 master 換成你想要推送的任何分支。
分支分支是用來將特性開發絕緣開來的。在你建立倉庫的時候,master 是「預設的」分支。你可以在其他分支上進行開發,完成後再將它們合併到主分支上。
建立乙個叫做「feature_x」的分支,並切換過去:
git checkout -b feature_x
切換回主分支:
git checkout master
再把新建的分支刪掉:
git branch -d feature_x
除非你將分支推送到遠端倉庫,不然該分支就是 不為他人所見的:
git push origin
git建立分支:git branch branchname
git列出(所有)分支:git branch
更新與合併
要更新你的本地倉庫至最新改動,執行:
git pull
以在你的工作目錄中 獲取(fetch) 並 合併(merge) 遠端的改動。
要合併其他分支到你的當前分支(例如 master),執行:
git merge
在這兩種情況下,git 都會嘗試去自動合併改動。遺憾的是,這可能並非每次都成功,並可能出現衝突(conflicts)。 這時候就需要你修改這些檔案來手動合併這些衝突(conflicts)。改完之後,你需要執行如下命令以將它們標記為合併成功:
git add
在合併改動之前,你可以使用如下命令預覽差異:
git diff
標籤git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要標記的提交 id 的前 10 位字元。可以使用下列命令獲取提交 id:
git log
你也可以使用少一點的提交 id 前幾位,只要它的指向具有唯一性。
替換本地改動
假如你操作失誤(當然,這最好永遠不要發生),你可以使用如下命令替換掉本地改動:
git checkout --
假如你想丟棄你在本地的所有改動與提交,可以到伺服器上獲取最新的版本歷史,並將你本地主分支指向它:
git fetch origin
git reset --hard origin/master
其他
檢視專案的當前狀態:git status
取消已快取的內容:git reset head
從git中移除某個檔案:
要從 git 中移除某個檔案,就必須要從已跟蹤檔案清單中移除,然後提交。可以用以下命令完成此項工作
git rm
如果刪除之前修改過並且已經放到暫存區域的話,則必須要用強制刪除選項 -f
git rm -f
如果把檔案從暫存區域移除,但仍然希望保留在當前工作目錄中,換句話說,僅是從跟蹤清單中刪除,使用 --cached 選項即可
git rm --cached
參考: git工具的使用
轉殖遠端倉庫 git clone git 從遠端倉庫拉取 git pull git 切換本地分支 git checkout branchname 獲取遠端標籤 git pull git tags 推送本地標籤 git push tags 刪除遠端標籤 先刪除本地標籤git tag d tagname...
git 工具的使用,
如今,很多人都在使用 git 託管 下面我為大家介紹如何使用 git 託管自己的 第一步 安裝 第二步 把 儲存到倉儲中 2.1安裝完成後,在專案目錄滑鼠右鍵開啟 git bash 然後輸入命令 git init 初始化倉庫,也可以設定當前使用者資訊 命令 配置使用者名稱 git config gl...
git工具的使用
版本管理工具目前市場上有兩款比較常用,乙個是git,乙個是svn,git支援分布式,但svn不是,建立 修改乙個版本庫 git init 初始化乙個版本庫 git add 將當前所有檔案新增到庫中 git commit m 提交的注釋資訊 向版本庫提交修改 使用 git add 命令將想要快照的內容...