Git的add、commit、push命令

簡單的代碼提交流程

  1. git status 查看工做區代碼相對於暫存區的差異
  2. git add . 將當前目錄下修改的全部代碼從工做區添加到暫存區 . 表明當前目錄
  3. git commit -m "xxx" 將緩存區內容添加到本地倉庫, xxx是對這次修改的描述
  4. git pull --rebase 拉取遠程倉庫代碼併合並(若是有衝突須要進行手動處理)也能夠直接使用 git pull 拉取
    • git pull = git fetch + git merge
    • git pull --rebase = git fetch + git rebase
  5. git push origin master (若是有衝突沒有解決是提交不了的)將本地版本庫推送到遠程服務器,origin是遠程主機,master表示是遠程服務器上的master分支,分支名是能夠修改的

Git add

git add [參數] <路徑> 
做用就是將咱們須要提交的代碼從工做區添加到暫存區,就是告訴git系統,咱們要提交哪些文件,以後就可使用git commit命令進行提交了。
爲了方便下面都用 . 來標識路徑, . 表示當前目錄,路徑能夠修改,下列操做的做用範圍都在版本庫以內。git

git add .
不加參數默認爲將修改操做的文件和未跟蹤新添加的文件添加到git系統的暫存區,注意不包括刪除vim

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 "xxx"
-m 參數表示能夠直接輸入後面的「message」,若是不加 -m參數,那麼是不能直接輸入xxx的,而是會調用一個編輯器通常是vim來讓你輸入這個xxx, xxx便是咱們用來簡要說明此次提交的語句。fetch

git commit -am "xxx"
-am等同於-a -m
-a 參數能夠將全部已跟蹤文件中的執行修改或刪除操做的文件都提交到本地倉庫,即便它們沒有通過git add添加到暫存區,注意: 新加的文件(即沒有被git系統管理的文件)是不能被提交到本地倉庫的。.net

Git push

在使用 git commit 命令將修改從暫存區提交到本地版本庫後,只剩下最後一步將本地版本庫的分支推送到遠程服務器上對應的分支了。 git push的通常形式爲 git push <遠程主機名> <本地分支名> <遠程分支名> ,例如 git push origin master:refs/for/master ,便是將本地的master分支推送到遠程主機origin上的對應master分支, origin 是遠程主機名。第一個master是本地分支名,第二個master是遠程分支名。code

git push origin master
若是遠程分支被省略,如上則表示將本地分支推送到與之存在追蹤關係的遠程分支(一般二者同名),若是該遠程分支不存在,則會被新建blog

git push origin :refs/for/master
若是省略本地分支名,則表示刪除指定的遠程分支,由於這等同於推送一個空的本地分支到遠程分支,等同於 git push origin –delete masterget

git push origin
若是當前分支與遠程分支存在追蹤關係,則本地分支和遠程分支均可以省略,將當前分支推送到origin主機的對應分支

git push
若是當前分支只有一個遠程分支,那麼主機名均可以省略,形如 git push,可使用 git branch -r ,查看遠程的分支名

關於 refs/for:
refs/for 的意義在於咱們提交代碼到服務器以後是須要通過code review 以後才能進行merge的,而refs/heads 不須要

參考自:https://blog.csdn.net/qq_37577660/article/details/78565899

相關文章
相關標籤/搜索