mac下如何把本地專案上傳到git上:
hot fix:
git status 檢視檔案處於什麼狀態
echo myproject > readme 在myproject檔案下建立乙個readme檔案
git init. 建立乙個本地倉庫
gitadd file ,將檔案新增進快取區(stage) 此時用git status檢視,狀態是『changes to be committed』+ 'modified:檔名 '表示有改動的是那個檔案
git add . 將所有更改檔案新增進快取區
git commit -m 將所有當前快取區的內容一起提交到當前分支本地倉庫 如果需要更新到遠端倉庫還需要push
git commit -a -m
或者 git commit -am
相當於將add和commit兩步結合啦:將本地所有修改檔案提交到快取區並提交
git diff 檢視修改內容
git diff head -- readme.txt 用來檢視當前工作區與版本庫里readme.txt檔案最新版本的區別 head指當前工作區分支
git log 各次提交的記錄 顯示各次提交時的message註解 加上 --pretty=oneline 引數,會簡短的每行輸出一條 每一次的記錄前面都有一串很長的commit——id用來每一次提交的版本
git reset --hard head^ 返回上乙個版本 head表示當前分支的當前的版本,每多乙個^表示之前的乙個版本 所以head^^就是上上個版本
或者 git reset --hard commit_id 直接回到某個版本號(版本號很長,不用寫全,大概寫個前幾位,git會自動去找的)。當返回上一版,再git log時,會發現列印不出剛才的最新版了,此時就可以通過這第二種使用版本號的方法,重新回退到那個版本(前提是還沒有關閉終端,能找到commit_id)
git push -f 或者 git push --force 將回退後的版本強制更新上傳
git reset head file 將放進快取區的檔案撤銷掉(unstage),重新放回工作區. 此時執行過後,會提示『unstaged changes after reset』+檔名,此時再git status檢視狀態,會提示『changes not staged for commit』,接下來的操作可以重新add或者把工作區的也撤銷git checkout -- file
git reflog 記錄曾經輸入過的命令 (這樣即使關閉了終端,之前的commit_id也能找回來)
git checkout -- file檔名 撤銷這個檔案file的在工作區的修改(注意中間一定有--,不然就會變成另乙個命令) 兩個情況:1.修改後,還沒有add,此時就是在工作區,那麼執行這個命令,這次修改就會取消,回到倉庫上的最新版本。 2,已經 add,還沒有commit,也沒有再更改,此時檔案在快取區,這個時候執行命令,並不會撤銷修改,因為此時工作區沒有內容 3,已經commit了,這時工作區也沒有內容,也不會撤銷
rm file 刪除工作區檔案 此時工作區和倉庫就有了不同 ,用git status 可檢視刪除了哪些檔案
git rm file 刪完本地後又想刪除倉庫裡的該檔案 之後需要commit一下
git checkout -- file 如果誤刪了工作區的本地檔案,這個命令用於把版本庫里的最新版本複製乙份到工作區,所以無論工作區是修改了還是刪除了,都可以用這個命令『一鍵還原到最新版本』
git branch 分支名 從當前分支建立乙個分支 例如git branch develop.
git checkout 分支名 切換到某分支
git checkout -b 分支名. 用-b引數,表示從當前分支上建立並切換到分支
git checkout -b 分支名1 origin/遠端分支名2 把遠端庫里的某分支名2 建立在本地命名為分支名1
git branch 檢視當前分支
git merge 分支名 將分支快速合併到當前分支。 例如當前是master git merge develop執行之後,就是把dev的內容同步到master了;
git merge --no-ff 保留分支的commit歷史
git merge --no-ff -m'註解' 表示禁用fast forward格式地合併,並且會產生乙個commit, -m '註解' 這個引數和單獨用commit -m '註解' 一樣
git branch -d 分支名。 刪除某分支 例如刪除了dev,此時看git branch 結果是master 因為develop被刪除了
git branch -d 分支名 強行刪除某分支 當新建的分支還沒有被合併就被刪除時,用-d會提示錯誤,用-d可以強行刪除
git log --graph --pretty=oneline --abbrev-commit
檢視分支合併圖
git stash 儲存當前分支的『工作現場』,
git stash list 檢視當前所有儲存的『工作現場』 結果格式:stash@:win on dev:f8743 add merge
git stash drop 某 刪除已經恢復完的stash
git stash pop 恢復工作現場後直接刪除 此時再用git stash list 應該查不到stash了
git remote -v 檢視遠端庫的資訊 -v引數可選,現實詳細資訊
git branch --set-upstream-to=origin/遠端分支名 本地分支名 將本地的分支與遠端庫分支建立關聯
git pull 從與當前分支建立聯絡的遠端庫分支上拉取最新的提交
git pull origin 遠端分支名:本地分支
其中 origin 是遠端庫的預設名稱
將遠端分支與本地分支merge 如果是與當前分支合併,冒號和本地分支名可以省略
git push origin 本地分支名:遠端分支名 把本地分支推送到遠端庫中的對應分支 其中 origin 是遠端庫的預設名稱 ,分支名是master或自定義的分支名。一般,預設分支master和開發分支都要與遠端庫保持同步,修復bug分支等可以不這樣,前提是已經commit之類的都完成了
git tag 自定義標籤名 給當前分支
最新的一次提交打上標籤名
git tag 自定義標籤名 commit_id 給對應的某次提交打上標籤。用git log可以檢視所有提交過的commit_id
git tab -a 指定的標籤名 -m '指定說明文字' commit_id. 在某次提交上建立帶有說明資訊的標籤
git tag. 檢視所有標籤。按字母牌訊
git show 標籤名 顯示詳細的標籤資訊
hotfix熱修復分支:
使用場景:生產環境master有bug,但是開發分支develop還不穩定,需要從master拉取乙個修復bug分支,最終必須合併回develop和master
git checkout -b hotfix-master 從master上拉取乙個熱修復分支
git commit -a -m 在hotfix分支正常修改後提交
git checkout master
git merge --no-ff hot-切換回master分支後把熱修復分支合併 之後也要合回develop。規則的乙個例外是:如果乙個release分支已經存在,那麼應該把hotfix合併到這個release分支,而不是合併到develop分支。當release分支完成後, 將bugfix分支合併回release分支也會使得bugfix被合併到develop分支。(如果在develop分支的工作急需這個bugfix,等不到release分支的完成,那你也可以把bugfix合併到develop分支)
git tab -a 《版本號》
git branch -d
hotfix-刪除臨時分支
初學git,命令筆記
git config global user.name your name git config global user.email email example.com global引數,表示你這台機器上所有的git倉庫都會使用這個配置,當然也可以對某個倉庫指定不同的使用者名稱和email位址。請確...
Git初學筆記 一
看了好多git的配置,歸納總結下,以免之後電腦重灌,又要到處找一遍資料。記錄在此,以備忘。git中輸入如下命令 git config global user.name chenjj2048 git config global user.email chenjj2048 foxmail.com 如果想...
git基本命令 初學git github
雖說是基礎命令,但是幾乎涵蓋了所有git相關的命令 git命令 hash採用的是sha 1加密演算法 注 控制面板中的憑據管理器可以刪除git賬戶登入資訊 ls la 檢視隱藏檔案 注 在linux中以 開頭的檔案都是隱藏檔案 pwd 檢視當前目錄 cat filename 一次性顯示整個檔案 gi...