三個狀態
文件由 git 維護三中狀態
- modified:文件被改動,但還沒有被提交
- staged:標記被改動的文件到下次需要提交的文件快照
- committed:文件已經被安全保存到本地
可以使用命令 git status
查看文件狀態,可以添加參數 -s
查看簡單信息
git status -s
創建倉庫
要對現有的某個項目開始用 git 管理,只需到此項目所在的目錄執行
git init
初始化后,在當前目錄下會出現一個名為 .git
的目錄,所有 git 需要的數據和資源都存放在這個目錄中
也可以直接復制線上倉庫到本地
git clone [url]
url 支持三種形式
- git://
- http(s)://
- 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>
參考
文章列表