git是乙個開源的分布式版本控制系統,可以有效、高速的處理從很小到非常大的專案版本管理。
如果你對上面的話不懂沒關係,好吧,其實我也不太懂,因為我們今天主要講的是git的幾種常用命令,也就是說你只需要會使用下面的命令就行
1.git init
使用git前,需要先建立乙個倉庫(repository)。您可以使用乙個已經存在的目錄作為git倉庫或建立乙個空目錄。
兩種方式
(1). 在當前目錄下初始化新建git倉庫
(2).在乙個新的目錄下初始化新建git倉庫
在第一步的基礎上我們已經有了乙個git倉庫,但裡面什麼都沒有,所以我們就要用git add往裡面新增檔案。
注意:新增的檔案要先進入倉庫這個目錄
執行commit -v進行提交到倉庫區,並顯示diff資訊
補充命令:
git log檢視提交記錄
git reset --hard3919...............................(commit 後面的那一行編碼)
**就會變成對應那次提交時的**(注意這個命令非常危險,會把你當前磁碟上的所有變更給刪掉,所以使用的時候必須先commit,再使用)
git show3919........(commit後面的那一行編碼)
直接顯示對應提交的**變更
git show head檢視最新一次改動
新建乙個分支:git branch 分支名(git branch button-and-input)
切換到某乙個分支: git checkout 分支名(git checkout button-and-input)
把本地的分支提交到遠端倉庫上:git push origin 分支名(如:git push origin button-and-input)
檢視分支:git branch
建立+切換分支:git checkout -b
合併某分支到當前分支:git merge
刪除分支:git branch -d
git rm 檔名 -r:不僅會刪掉git倉庫上的,還會把你的原始檔給刪掉
git rm --cached 檔名 -r: 只刪掉git倉庫上的
上面截圖中的就是只刪除git倉庫中的a檔案,你本地中的a檔案還會保留
如果想讓當前的這一次提交成為最後一次提交記錄,也就是再次提交新的東西,提交記錄不會再去顯示,換句話這只能看到你這一次和之前的提交記錄,那麼你就在你需要作為最後一次提交的分支裡新建乙個分支,然後之後所有的操作都在之前的分支上操作,那麼新的分支上就只會保留你建立分支前的提交記錄
如:我在gulu-demo檔案下新建了乙個分支button-and-input
建立分支前的最後一次提交記錄是讓input支援雙向繫結
2. 新建兩個檔案,提交一下
3. 把本地的button-and-input分支提交到遠端倉庫
4. 檢視master分支上的提交記錄
上面最後一條提交記錄就是我們最新提交的add row and col
5. 執行 git checkout button-and-input 切換到button-and-input分支,檢視git log的提交記錄
上面button-and-input 的最後一條記錄就是我們新建分支之前的記錄,而沒有記錄下最新提交的
給已經提交到github上的專案新建乙個倉庫,儲存之前的提交和新一次的提交
git commit 後
原本是應該直接執行上面兩句,可是執行第一句的時候就是提示你遠端分支已經存在
所以這時你就應該執行上面的
git remote set-url origin [email protected]:wanglifa/pikachu.git
然後在執行
git push -u origin master
將遠端分支同步到本地
git fetch origin '遠端分支名' // 從遠端獲取最新分支
git merge origin/'遠端分支名' // 合併遠端分支到本地
多人開發流程
在對應分支下新建自己的分支,然後將自己的分支提交到遠端
git checkout dev // 切換到對應的開發分支
git checkout -b test //在開發分支下建乙個test分支並切換到test
git push origin test // 將test分支提交到遠端
將**上傳到多個遠端倉庫
git remote add 第二個倉庫的名字 當前倉庫
git push -u 第二個倉庫的名字 master
單個檔案/資料夾:
$ git checkout -- filename
所有檔案/資料夾:
$ git checkout .
單個檔案/資料夾:
$ rm filename / rm dir -rf
所有檔案/資料夾:
$ git clean -xdf
/刪除新增的檔案,如果檔案已經已經git add到暫存區,並不會刪除!
單個檔案/資料夾:
$ git reset head filename
所有檔案/資料夾:
$ git reset head .
$ git reset commit_id
這個commit_id是你想要回到的那個節點,可以通過git log檢視,可以只選前6位
撤銷之後,你所做的已經commit的修改還在工作區!
$ git reset --hard commit_id
這個commit_id是你想要回到的那個節點,可以通過git log檢視,可以只選前6位
撤銷之後,你所做的已經commit的修改將會清除,仍在工作區/暫存區的**也將會清除!
git 配置git命令列別名
引言 由於有些git命令較長,記起來比較麻煩,為了git工具使用的方便,為命令列取別名有很大的必要。1 在家目錄新增.gitconfig檔案。此檔案在建立git倉庫時,一般是沒有的,需要手動新增。2 配置.gitconfig檔案。例如如下配置 左邊的別名可以按照個人習慣取 alias br bran...
git 命令列 和 cmd命令列
設定全域性使用者名稱 git config global user.name 區域性把global換成local 檢視全域性 git config global list 檢視git的狀態 git status 初始化 git into 名字 新增乙個檔案 git add readme.txt 刪除...
Git 命令列基礎
git是乙個開源的分布式版本控制工具 配置身份 配置身份 git config global user.name tony git config global user.email tony gmail.com 檢查是否配置成功 檢查配置 git config global user.name gi...