git的簡介:
git是目前世界上最先進的分布式版本控制系統。區別於集中式svn和cvs,分布式版本控制系統沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫。特點:不需要聯網、安全性高、速度快、協作更便捷。
一、建立版本庫:
mkdir learngit 新建乙個目錄
cd learngit 跳轉到這個目錄下
git init 把這個目錄變成git可以管理的倉庫
編寫readme.txt檔案放在learngit目錄
git add readme.txt 把檔案新增到倉庫
git commit -m "wrote a readme file" 告訴git,把檔案提交到倉庫
git status 命令看倉庫當前的狀態
git diff readme.txt 看具體修改內容
總結:隨時掌握工作區的狀態,使用git status命令。
如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。
二、版本回退和管理修改
git log 檢視歷史記錄
git log --pretty=oneline 簡化記錄顯示
一大串類似3628164...882e1e0的是commit id(版本號)
用head表示當前版本
上乙個版本就是head^,上上乙個版本就是head^^,
當然往上100個版本寫100個^比較容易數不過來,所以寫成head~100
git reset --hard head^ 回退上一版本
git reset --hard (commit id)(版本號)
cat readme.txt 顯示內容
忘記commit id可用relog查
git reflog 用來記錄你的每一次命令
git diff head -- readme.txt 命令可以檢視工作區和版本庫裡面最新版本的區別
總結:每次修改,如果不add到暫存區,那就不會加入到commit中
三、撤銷修改和刪除檔案
git checkout -- readme.txt 在工作區的修改全部撤銷
git reset head file 可以把暫存區的修改撤銷掉(unstage),重新放回工作區
總結:場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file。
場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。
場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。
git rm 用於刪除乙個檔案
ls -ah 檢視隱藏目錄
四、遠端倉庫:
ssh-keygen -t rsa -c "[email protected]" 建立ssh key,一路回車
成功後,可以在使用者主目錄裡找到.ssh目錄,裡面有id_rsa和id_rsa.pub兩個檔案
id_rsa是私鑰,不能洩露出去,id_rsa.pub是公鑰,可以放心地告訴任何人
谷歌瀏覽器開啟
在這個**中新增ssh keys 用id_rsa.pub公鑰。
使用ssh key是因為github需要識別出你推送的提交確實是你推送的
本地倉庫關聯遠端庫heshushun/learngit.git,遠端庫的名稱:origin
git remote add origin [email protected]:heshushun/learngit.git
把本地庫的所有內容推送到遠端庫上
git push -u origin master 把當前分支master推送到遠端,並將本地master和遠端master關聯
git push origin master 後面推送遠端不需要再加-u
從遠端庫轉殖到本地庫
git clone [email protected]:heshushun/gitskills.git
五、分支管理:六、多人協助:七、標籤管理:
git tag v1.0 新建標籤v1.0
git log --pretty=oneline --abbrev-commit 找歷史提交的commit id
git tag v0.9 692fdc3 指定 692fdc3 commit id 的標籤是v0.9
git show v0.9 檢視標籤資訊
git tag -d v0.9 刪除標籤
git push origin v1.0 推送某個標籤到遠端
git push origin :refs/tags/v0.9 刪除乙個遠端標籤
Git基礎及相關命令操作
在命令列視窗輸入git檢查系統是否安裝git 安裝完成後在命令列輸入 git config global user.name git config global user.email 建立空目錄 mkdir命令 建立空目錄 pwd命令 顯示當前目錄 通過git init命令把目錄變成git可以管理的...
git命令之基礎操作流程
在git中clone專案有兩種方式 https和ssh,它們的區別如下 https 不管是誰,拿到url隨便clone,但是在push的時候需要驗證使用者名稱和密碼 ssh clone的專案你必須是擁有者或者管理員,而且需要在clone前新增ssh key。ssh 在push的時候,是不需要輸入使用...
git的基礎操作
1 基本的從master轉殖 拉取 上傳專案 1 轉殖專案 git clone 遠端位址 2 推送本地專案到遠端倉庫master 1 git init 初始化該資料夾為git可管理目錄 2 git add 將該目錄下的所有檔案新增到暫存區中去 3 git commit m 描述內容 提交到本地倉庫中...