git的簡單使用

git的簡單使用

Git是一個由林納斯·託瓦茲爲了更好地管理linux內核開發而創立的分佈式版本控制/軟件配置管理軟件。需要注意的是和GNU Interactive Tools,一個類似Norton Commander界面的文件管理器相區分。

參考資料:

注意: 在使用 git 的過程中,如果我們需要查看幫助信息,可以 man git 或者 git –help,如果查具體的命令的 help 信息,可以用類似於 git init –help 的語句來查看。

git init

噹噹前目錄不是一個 git 庫時,執行這個命令會把當前目錄初始化一個 git 庫。具體爲在當前目錄下新建一個 .git 的目錄。 只有初始化了目錄,才能進行後續操作。
如果我們從別的地方拷貝一個 .git 的目錄到當前目錄下,那就可以 不執行 git init 的操作。

git add

這個操作通常是在 git init 操作 或者 修改了一個已有的 git 庫以後執行。一般是直接

git add .

把當前所有文件加入到 git 庫中。也可以 git add filename1 filename2 來添加單個文件。

git commit

這個命令是用於提交git修改的,命令格式爲: git commit ,一般加上的選項有 -a。 執行這個命令之前最好先執行 git add .,把所有文件都添加進git庫,以免有時新加文件後提交不上。

有時候我們提交完了才發現漏掉了幾個文件沒有加,或者提交信息寫錯了。想要撤消剛纔的提交操作,可以使用–amend 選項重新提交: $ git commit –amend -m”修改 提交 說明”

git branch

這個命令用於查看git分支。 常用操作有:

git  branch -a 可以列出所有分支
git  branch -D  Branch-name 可以刪除以 Branch-name 爲名的分支
git  branch  Branch-name  可以添加一個以 Branch-name 爲名的分支
git  branch  -m  Branch-name1   Branch-name2  把 Branch-name1 分支修改爲 Branch-name2

git checkout

這個命令可以取出某個 commit 或者某個 branch。

git  checkout  commit-name
git  checkout  branch-name
git  checkout  --   filename   這個操作會用上一次提交的 filename 文件覆蓋現在的 filename 文件

git diff

此命令用於查看代碼的修改。常用語法有:

git  diff --color  可以顯示顏色,且顯示出當前版本(未提交)和之前版本的代碼差異
git  diff  commit1   commit2  filename  可以查看文件 filename 在 commit1 和 commit2兩個分支的區別
git diff HEAD^ HEAD  filename   可以查看文件filename 在當前已提交版本和上一個已提交版本的區別

git log

顯示git提交記錄。 可以把後面添加上 branch 的名稱,這樣會列出該 branch 的提交記錄。

git tag

養成打tag好習慣 :)

給當前commit打一個tag,名稱爲 20101023_publish
$: git tag 20101023_publish 

加上-f覆蓋原有的tag
$: git tag -f 20101023_publish 

顯示所有的tag
$: git tag 20101015_publish 20101019_publish 20101021_publish 

刪除tag
$: git tag -d 20101023_publish 

服務器上的tag
tag要push上服務器,操作跟分支操作沒有任何區別
push 到服務器
$: git push origin 20101023_publish  # 從服務器上刪除 $: git push origin :20101023_publish 

值得注意的是,如果tag名字和分支名字一樣的時候,push需要指定refs的詳細路徑,因爲分支和tag在git內部是這樣表示的(只是引用),tag只存儲所指向的那一次提交:
refs/tags/{tagnane} refs/heads/branches/{branchnane}
所以要這樣push相同名字的tag和分支
$: git push origin refs/tags/product $: git push origin refs/heads/branches/product 

把所有的tag都push到服務器上
$: git push origin --tags

git clone

克隆 git 庫到當前目錄。語法: git clone git-url (比如: git clone git@rd-server:sources/adduser.git ) 新創建 git 庫也用這個命令,不過需要添加一個參數 git clone –bare git-url ,這樣會只克隆 .git 目錄。

git merge

這個命令需要在被合併的分支上操作。 假設需要把 branch1 merge 到 master 分支,執行:

git  checkout  master
git  merge  branch1

這樣就會把 branch1 merge 到 master 分支上。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章