-
GIT 命令
git add .
git add [參數] <路徑> 作用就是將我們需要提交的代碼從工作區添加到暫存區,就是告訴git系統,我們要提交哪些文件,之後就可以使用git commit命令進行提交了。
爲了方便下面都用 . 來標識路徑, . 表示當前目錄,路徑可以修改,下列操作的作用範圍都在版本庫之內。
- git add .
不加參數默認爲將修改操作的文件和未跟蹤新添加的文件添加到git系統的暫存區,注意不包括刪除
- git add -u .
-u 表示將已跟蹤文件中的修改和刪除的文件添加到暫存區,不包括新增加的文件,注意這些被刪除的文件被加入到暫存區再被提交併推送到服務器的版本庫之後這個文件就會從git系統中消失了。
- git add -A .
-A 表示將所有的已跟蹤的文件的修改與刪除和新增的未跟蹤的文件都添加到暫存區。
Git commit
- git commit
主要是將暫存區裏的改動給提交到本地的版本庫。每次使用git commit 命令我們都會在本地版本庫生成一個40位的哈希值,這個哈希值也叫commit-id,
commit-id 在版本回退的時候是非常有用的,它相當於一個快照,可以在未來的任何時候通過與git reset的組合命令回到這裏。
- git commit -m ‘message’
-m 參數表示可以直接輸入後面的“message”,如果不加 -m參數,那麼是不能直接輸入message的,而是會調用一個編輯器一般是vim來讓你輸入這個message,
message即是我們用來簡要說明這次提交的語句。
- git commit -am ‘message’ -am等同於-a -m
-a參數可以將所有已跟蹤文件中的執行修改或刪除操作的文件都提交到本地倉庫,即使它們沒有經過git add添加到暫存區,
注意: 新加的文件(即沒有被git系統管理的文件)是不能被提交到本地倉庫的。
Git push
在使用git commit命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠程服務器上對應的分支了,如果不清楚版本庫的構成,可以查看我的另一篇,git 倉庫的基本結構。
git push的一般形式爲 git push <遠程主機名> <本地分支名> <遠程分支名> ,例如 git push origin master:refs/for/master ,即是將本地的master分支推送到遠程主機origin上的對應master分支, origin 是遠程主機名。第一個master是本地分支名,第二個master是遠程分支名。
- git push origin master
如果遠程分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建
- git push origin :refs/for/master
如果省略本地分支名,則表示刪除指定的遠程分支,因爲這等同於推送一個空的本地分支到遠程分支,等同於 git push origin –delete master
- git push origin
如果當前分支與遠程分支存在追蹤關係,則本地分支和遠程分支都可以省略,將當前分支推送到origin主機的對應分支
- git push
如果當前分支只有一個遠程分支,那麼主機名都可以省略,形如 git push,可以使用git branch -r ,查看遠程的分支名。
- git push origin --delete bug_xzx
把遠程倉庫的分支刪除
Git branch
- git branch -a
查看所有分支(包括遠程倉庫的分支)
- git branch
查看當前所在分支
- git branch -d bug_xzx
刪除本地倉庫分支
- git push origin --delete bug_xzx
刪除遠程倉庫分支
- git checkout 分支名
切換分支
Git config
- git config user.name
查看git用戶名
- git config user.email
修改git用戶名(修改郵箱同理)
- git config --global user.name "username"
-
使用技巧
pull代碼時,解決衝突
$ git stash //暫存當前正在進行的工作。
$ git pull origin master //拉取服務器的代碼
$ git stash pop //合併暫存的代碼