GIT-基本命令
基礎操作命令
git init 初始化倉庫
git status 檢視狀態
git add a.txt 將a.txt檔案的新增或修改加入到暫存區(index)
git commit -m 'create a.txt' a.txt
git add b.txt 將b.txt檔案的新增或修改加入到暫存區(index)
git commit -m 'create b.txt' b.txt
git commit -m "a.txt a add1" a.txt 修改a.txt 新增:a add1 內容後提交到本地庫的當前分支
git log (a.txt) 顯示(a.txt)從最近到最遠的提交日誌 (有顯示版本號)
git log --pretty=oneline (a.txt) 以漂亮的格式顯示(a.txt)提交的日誌 (有顯示版本號)
版本回退
未提交的撤銷
撤銷工作區的修改(還未add到暫存區(index)的檔案) : git checkout -- test.txt
撤銷已經add到暫存區(index)但未commit的檔案 :git reset HEAD test.txt
已提交的回退
git reset --hard HEAD^ (由下圖可知,通過git log檢視確實已經回退 撤回提交,但是對a.txt做的修改a add1消失了)
a.txt的新增的 啊add1內容丟失了
雖然撤回了提交,但是由於a.txt修改的內容丟失了,所以可以用版本穿梭找回來
①git reflog --pretty=oneline (從開始到現在的所有指標指向,包含回退的指標指向用來版本穿梭)
② git reset --hard 1abpp79
若想實現,撤回提交併且不丟失a.txt的資料可以用 git reset --soft **** 命令實現
git reset --soft a32bf69cec7ababd7edd83d3331eb41f98571df3
將專案和github賬戶相連
1.註冊github賬戶
2.檢查ssh祕鑰
由於你的本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以我們需要配置驗證資訊(No such file or directory表示第一次)
3.建立SSH Key: ssh-keygen -t rsa -C [email protected] 成功的話會在~/下生成.ssh資料夾,進去,開啟id_rsa.pub,複製裡面的key。
家目錄下有了 .ssh資料夾
4.貼上id_rsa.pub內容到Github
5.測試連通性: ssh -T [email protected]
將專案從本地推送到遠端庫
情景描述:我在本地建立了一個OA專案後,我又想在GitHub建立一個OA專案,並且讓這兩個倉庫進行遠端同步
1 先在本地新建好一個git專案OA
git init
git add -A
git commit -m "create" a.txt
2 到Github上新建一個同名的空專案
3 本地和github上的倉庫進行關聯(以下命令是在當前專案的.git目錄下執行)
git remote add origin https://github.com/wxds/oa.git (此網址在github上建立好目錄後自動生成的)
4 把本地庫的內容推送到遠端gitpush命令,實際上是把當前分支master推送到遠端
當第一次推送時:git push -u origin master
當以後再推送時:git push origin master/dev/test
將修改拽到本地:git pull origin master
將專案從遠端庫clone到本地
根據url地址(github上建好專案後自動生成的地址) 使用者名稱和密碼 clone專案
現在又git伺服器上又建立一個 fly 分支
git fetch origin fly 和遠端的fly分支聯絡
git checkout -b fly origin/fly 作用是checkout遠端的fly分支,在本地取名為fly,並切換到本地的fly分支
git pull origin fly
直接拉取遠端dev分支
git clone -b dev https://git.oschina.net/search/bigpay.git
在本地dev分支的基礎上建立一個mytest分支然後將此分支推送到git上
git branch mytest :建立mytest分支
git checkout mytest :切換到mytest分支
git push origin mytest :將本地mytest分支推送到遠端
分支
檢視分支:git branch
建立分支:git branch dev/dongdong /...
切換分支:git checkout dev/dongdong/...
建立+切換分支:git checkout -b name
合併某分支到當前分支:git merge dev
刪除分支:git branch -d name
刪除遠端dev分支:git push origin --delete dev