標籤:linux git 常用操作
對於任何一個檔案,在Git內都只有3種狀態:已提交(committed),已修改(modified)和已暫存(staged)。已提交表示該檔案已經被安全地波啊存在本機資料庫中了,已修改表示修改了某個檔案,但還沒有提交儲存,已暫存表示把已修改的檔案放在下次提交時要儲存的清單中。
一.基本的Git工作流程如下所示:
-
在工作目錄中修改某些檔案
-
對這些修改了的檔案做快照,並儲存到暫存地區
-
提交更新,將儲存在暫存地區的檔案快照轉儲到git目錄中
二.Git安裝
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
-
從源碼安裝
tar zxf git-1.6.0.5.tar.gz
cd git-1.6.0.5
make prefix=/usr/local
make install
2. rpm包安裝
yum install git-core -y
三.初次運行Git前的配置
Git的設定檔有:/etc/gitconfig,~/.gitconfig,.git/config(工作目錄裡),每個層級的配置都會覆蓋上層相同配置,所有.git/config裡的配置會覆蓋/etc/gitconfig中的同名變數
1.使用者資訊
git config --global user.name "John Doe"
git config --global user.email [email protected]
2.編輯器
git config --global core.editor vi
git config --list 檢查已有的配置資訊
--global選項,讀寫的是/etc/gitconfig
--system選項,讀寫的是~/.gitconfig
四.Git的基礎用法
取得項目的Git倉庫
1.從目前的目錄初始化git init
2.從現有倉庫複製eg:git clone git://github.com/schacon/grit.git
Git的常用操作工作目錄下面的所有檔案都不外乎兩種狀態:已跟蹤或未跟蹤。已跟蹤的檔案就是指本來就被納入版本控制管理的檔案,其它檔案都屬於未追蹤檔案
基本操作
1.git status 確定哪些檔案當前處於什麼狀態
2.git add filename 開始跟蹤一個新檔案或者把已跟蹤的檔案放到暫存區
3.git diff查看尚未暫存的檔案更新了哪些部分
git diff --cached查看已經暫存起來的檔案和上次提交時的快照之間的差異
4.git commit -m "string"提交更新只限於暫存地區的檔案
git commit -a -m "string"把所有已經跟蹤過的檔案暫存起來一併提交,從而跳過了git add步驟 5.git rm filename從已追蹤檔案清單中移除某個檔案
6.git rm --cached filename檔案從Git倉庫刪除,但仍保留在當前的工作目錄中
7.git mv file1 file2移動檔案或者重新命名檔案
8.git log 查看提交曆史
git log -p -2 -p選項展開顯示每次提交的內容差異,-2表示僅顯示最近的2次更新
git log --stat快速探索其他共同作業者提交的更新都做了哪些改動
git log --pretty=oneline使用完全不同與預設格式的方式展示提交曆史
gitk 是git的圖形化查詢提交曆史的工具
9.git commit --amend撤銷操作
eg:git commit -m "initial commit"
git add file
git commit --amend 這三條命令最終得到一個提交,第二個提交命令修正了第一個提交的內容
10.git reset HEAD filename取消已暫存的檔案,該命令是git status 後出現的提示命令
11.git checkout -- filename取消對檔案的修改,該命令是git status 後出現的提示命令
五.對遠程倉庫的使用
git clone git://github.com/schacon/ticgit.git
cd ticgit
1.git remote 列出遠程庫的簡短名字
git remote -v顯示遠程庫的簡短名字和對應的複製地址
2.git remote add pb git://github.com/paulboone/ticgit.git添加一個新的遠程倉庫,指定一個簡短的名字,一邊將來引用git fetch pb 抓取所有paulboone有的,本地倉庫沒有的資訊
3.git push origin master把本地的master分支推送到origin伺服器上,只有所有複製的伺服器有寫入權限,並且同一時刻沒有其他人在推送資料,這條命令才會如期執行,其他人如果推送了若干更新,那你的操作會被駁回,你必須把他們的更新抓取到本地,併到自己的項目中,才能再次推送
4.git remote rename pb paul修改某個遠程倉庫的簡簡短名稱,把pb改成paul
5.git remote rm paul移除遠端的倉庫
本文出自 “尼族部落” 部落格,轉載請與作者聯絡!