文章出處

三個狀態

文件由 git 維護三中狀態

  1. modified:文件被改動,但還沒有被提交
  2. staged:標記被改動的文件到下次需要提交的文件快照
  3. committed:文件已經被安全保存到本地

可以使用命令 git status 查看文件狀態,可以添加參數 -s 查看簡單信息

git status -s

創建倉庫

要對現有的某個項目開始用 git 管理,只需到此項目所在的目錄執行

git init

初始化后,在當前目錄下會出現一個名為 .git 的目錄,所有 git 需要的數據和資源都存放在這個目錄中

也可以直接復制線上倉庫到本地

git clone [url]

url 支持三種形式

  1. git://
  2. http(s)://
  3. user@server:/path.git

身份認證

每次 git 提交時都會引用這兩條信息,說明是誰提交了更新,所以新建一個 git 倉庫后需要設置用戶信息

git config --global user.name "Your username"
git config --global user.email "Your email"

使用了 --global 選項后就可以不用每次設置了

基本命令

可以使用以下命令使文件在三種狀態間切換

也可以跳過中間狀態切換

除了這幾條命令,如果想對剛才做的 commit 做適當修改,可以緊接著寫修改的操作,然后執行命令

git commit --amend

如果剛才提交完沒有作任何改動,直接運行此命令的話,相當于有機會重新編輯提交說明,但將要提交的文件快照和之前的一樣

如果剛才提交時忘了暫存某些修改,可以先補上暫存操作,然后再運行 --amend 提交:

git commit -m 'initial commit' 
git add forgotten_file
git commit --amend

上面的三條命令最終只是產生一個提交,第二個提交命令修正了第一個的提交內容。

刪除文件

如果只是簡單地從工作目錄中手工刪除文件,運行 git status 時就會在 Changes not staged for commit 的提示

要從 Git 中移除某個文件,就必須要從已跟蹤文件清單中移除,然后提交。可以用以下命令完成此項工作

git rm <file>

如果刪除之前修改過并且已經放到暫存區域的話,則必須要用強制刪除選項 -f

git rm -f <file>

如果把文件從暫存區域移除,但仍然希望保留在當前工作目錄中,換句話說,僅是從跟蹤清單中刪除,使用--cached 選項即可

git rm --cached <file>

diff

git status 的顯示比較簡單,僅僅是列出了修改過的文件,如果要查看具體修改了什么地方,可以用 git diff 命令

git diff 比較的是工作目錄中 當前文件暫存區域快照 之間的差異,也就是修改之后還沒有暫存起來的變化內容

若要看 已經暫存起來的文件上次提交時的快照 之間的差異,可以用 git diff --cached 命令

branch

查看分支

git branch

切換分支

git checkout <branch_name>

新建分支

git branch <branch_name>

新建并切換分支

git checkout -b <branch_name>

刪除本地分支

git branch -d <branch_name>

刪除遠程分支

git push origin :<branch_name>

參考

git - 簡易指南

A Visual Git Reference

Pro Git

代碼回滾:Reset、Checkout、Revert的選擇


文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()