先進入到倉庫的檔案下然後執行
git commit -m'提交描述' >> 暫存區提交到本地倉庫
git push origin master >> 推送到遠端倉庫的指定分支;要指定本地分支
git push origin dev >> 推送其他分支,比如dev
$ git remote -vgit remote rm originorigin [email protected]:michaelliao/learngit.git (fetch)
origin [email protected]:michaelliao/learngit.git (push)
上面顯示了可以抓取和推送的origin的位址。如果沒有推送許可權,就看不到push的位址。
git reset
1.reset 引數詳情:
git reset --mixed head~ (--mixed 為預設值可以不寫)
git reset --soft head~
git reset --hard head~
git reset ox12245(版本號);
向前向後回滾; git log 中的id號,只需前4位就可以識別。如果找不到後面的版本號,使用git reflog 命令;檢視所有引數說明
--mixed 當執行了此命令後會發生兩個操作
移動了head的指向
將head移動後的指向的版本更新(回滾)到暫存區
(兩棵樹)結果就是會改暫存區的樹和git倉庫的樹
--soft 當執行了此命令後會發生兩個操作
移動了head的指向
(一顆樹)結果就是會修改和git倉庫的樹
--soft 相當於撤銷上次的commit
--hard 當執行了此命令後會發生三個操作
移動了head的指向
將head移動後的指向的版本更新(回滾)到暫存區
將暫存區指向的版本更新(回滾)到工作區域
(三顆樹)結果就是會修暫存區的樹和git倉庫的樹以及工作區的**
--hard 存在為刪除**的危險
2. git checkout
用法一: 切換分支
用法二: 放棄修改,更新工作區的**從(暫存區或指定版本更新)
checkout 就是更新工作區**
3. reset 和 checkout 總結
檔案恢復(指定檔案)
注意;上述提到 reset --hard會強制更新三顆樹,但在指定檔案時,reset的soft和hard命令此時不允許使用快照恢復
git reset --hard 分支名reset也可以加分支進行更新,會將head指向的分支和head本身都切換,就是說主線的** 就會丟失
head: 當前commit提交head 是 git 中乙個獨特的引用,它是唯一的
所謂當前 commit這個概念很簡單,它指的就是當前工作目錄所對應的 commit。
例如上圖中的當前 commit 就是第一行中的那個最新的 commit。
每次當有新的 commit 的時候,工作目錄自動與最新的 commit 對應;而與此同時,head 也會轉而指向最新的 commit。
事實上,當使用 checkout、reset 等指令手動指定改變當前 commit 的時候,head 也會一起跟過去。
head、master 與 branch;
這個文章很好;
工作區和git倉庫
暫存區和git倉庫
git倉庫和git倉庫
修改desc
刪除誤提交的檔案
git rm --cached 檔名 >>> (只刪除暫存區,保留工作工作區)
修改檔名
@@ -1,3 +1,6 @@
理解:就是乙個特殊的引用;和head相同,指向乙個commit提交;但是不是唯一的分支
合併
合併後出現fast-forward 代表合併時沒有衝突fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊。
強制禁用fast forward模式,git就會在merge時生成乙個新的commit,所以需要加入新的提交描述;bug分支
當乙個bug存在與連個分支上,修改一次後,可以將其複製一次提交,就不用重複操作了
decorate 顯示指向的引用
預設標籤是打在最新提交的commit上的,有時候,如果忘了打標籤,比如,現在已經是周五了,但應該在周一打的標籤沒有打,怎麼辦?方法是找到歷史提交的commit id,
建立帶有說明的標籤,用-a指定標籤名,-m指定說明文字
因為建立的標籤都只儲存在本地,不會自動推送到遠端。所以,打錯的標籤可以在本地安全刪除。
-f --cachedgit的三棵樹;
工作區暫存區;
git倉庫
1、提交管理當要切分支的時候,svn就得把所有的檔案複製到另乙個分支上嗎,而git由於滅乙個提交都是獨立的,只需要建立乙個指標(即分支)指向相應的提交即可
git 實用教程 :阮一峰
Git命令 超詳細
初始化命令 git init 創立乙個.git隱藏資料夾 把所有的修改的檔案新增到大門口 git add 把倉儲門口的 放到裡面的房間中去 git commit m 一些說明 表示是把所有修改的檔案提交到版本庫 git commit all m 一些說明 檢視當前的狀態 git status 檢視歷...
Git 詳細命令大全
建立版本庫 建立目錄 mkdir dirctory 切換目錄 cd directory 顯示當前目錄 pwd 把當前目錄變成git倉庫 git init 提交 新增特定檔案到暫存區 git add file 新增特定資料夾所有檔案到暫存區 git add 提交檔案到倉庫 git commit m m...
git常用詳細命令
git init 本地庫初始化 git config global user.name aaa 配置本地全域性git使用者名稱 git config global user.email 郵箱位址 配置本地全域性git郵箱 git clone url位址 轉殖專案 git remote add ori...