[Linux] Git: 基本使用

來源:互聯網
上載者:User

標籤:blog   c   code   tar   http   a   

Git 屬於分布式版本控制系統( Distributed Version Control System,簡稱 DVCS )用戶端並不只提取最新版本的檔案快照,而是把原始的代碼倉庫完整地鏡像下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何一個鏡像出來的本地倉庫恢複。因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份。更進一步,許多這類系統都可以指定和若干不同的遠端代碼倉庫進行互動。籍此,你就可以在同一個項目中,分別和不同工作小組的人相互協作。你可以根據需要設定不同的協作流程。

  Git 的基本工作流程:
1. 在工作目錄中修改某些檔案。 
2. 對這些修改了的檔案作快照,並儲存到暫存地區。 
3. 提交更新,將儲存在暫存地區的檔案快照轉儲到 git 目錄中。

Git簡單使用

// 建立伺服器代碼倉庫

sudo useradd git
sudo passwd git

sudo mkdir -p /var/git.server/project1
cd /var/git.server
sudo chown git project1
sudo chgrp git project1

// 建立忽略
cd project1
$ cat > .gitignore << end
> *.[oa]
> *.so
> *~
> !a.so
> test
> tmp/
> end

sudo su git
sudo git --bare init

// 用戶端使用

// 從伺服器複製程式碼程式庫
git clone [email protected]:/var/git.server/project1 project1
git add a.txt //  添加新增檔案
git add .     //  添加新增檔案
git commit -am "New Commit" // 提交版本
git commit --amend -am "Rename New Commit" // 重新提交,更改注釋

git checkout -b abeen // 建立abeen分支
git branch                   // 查看所有分支
git checkout master   // 切回master分支
git merge abeen              // 合并abeen分支到master

git pull origin master// 從伺服器重新整理最新代碼
git push origin master// 將代碼重新整理到伺服器
git reset HEAD^             // 恢複到上次提交狀態(HEAD^、HEAD~4、commit-id、tag)
git status                         // 查看當前track狀態
git log                             // 查看提交日誌
git log -3                        // 查看最後三條提交日誌
git log -3 --stat            // 顯示簡單的統計資訊    
git log -l -p                 // 顯示修改的詳細資料

// 階段性版本
git tag v0.9 // 建立標籤
git tag          // 顯示所有標籤
git log v0.9 // 用標籤顯示提交狀態
git show --stat v0.9 // 用標籤顯示提交基本資料


git rm filename                              // 刪除程式碼程式庫裡的檔案
git checkout HEAD^ -- filename // 恢複檔案
git rm --cache filename              // 只從程式碼程式庫刪除檔案,工作目錄檔案成未跟蹤狀態
git checkout HEAD^ -- filename // 簽出以前的某個版本 
git mv filename dirname              // 移動檔案
git show filename                          // 查看某個提交版本的具體資訊 
git diff HEAd^ filename              // 比較版本差異

git reset -hard commit_id //恢複之前版本

遠程倉庫

git remote // 查看當前遠程庫

git remote -v (verbose簡寫)// 顯示對應的複製地址

git remote add [shortname] [ulr] // 添加遠程倉庫

git fetch [remote-name]  // 擷取遠程倉庫資訊

git push origin master // 推送資料到遠程倉庫

git remote show [remote-name] // 顯示遠程倉庫資訊

git remote rename pb paul // 修改遠程倉庫對應名稱

git remote rm paul  // 刪除遠程倉庫

---------------------------------------------

更多內容請參考《Pro Git》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.