Git的add、commit、push命令

簡單的代碼提交流程
一、git status 查看工做區代碼相對於暫存區的差異
二、git add . 將當前目錄下修改的全部代碼從工做區添加到暫存區 . 表明當前目錄
三、git commit -m ‘註釋’ 將緩存區內容添加到本地倉庫
四、git push origin master 將本地版本庫推送到遠程服務器,
五、origin是遠程主機,master表示是遠程服務器上的master分支,分支名是能夠修改的git


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

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是遠程分支名。spa

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 ,查看遠程的分支名。.net


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

 

 

 

 

 

 

 

 

 

 

 

 

 

 


原文:https://blog.csdn.net/qq_37577660/article/details/78565899 blog

相關文章
相關標籤/搜索