博客地址:https://ask.hellobi.com/blog/zhiji 歡迎大家來交流學(xué)習(xí)。
工作中一定會用到版本控制系統(tǒng)搭儒,常見的有SVN、Git术吗,今天我們主要談一下Git的使用丹泉。
1.Git簡介
- Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)
- git的使用情萤,主要包括:
- 本地倉庫的命令
- 遠(yuǎn)程倉庫的命令
- 項目需求、頁面摹恨、模型類的設(shè)計筋岛,及頁面的使用
2.安裝
sudo apt-get install git
安裝完畢以后,可以運(yùn)行如下命令
git
3.遠(yuǎn)程倉庫
- Git是分布式版本控制系統(tǒng)睬塌,同一個Git倉庫泉蝌,可以分布到不同的機(jī)器上。首先找一臺電腦充當(dāng)服務(wù)器的角色揩晴,其他每個人都從這個“服務(wù)器”倉庫克隆一份到自己的電腦上勋陪,并且各自把各自的提交推送到服務(wù)器倉庫里,也從服務(wù)器倉庫中拉取別人的提交硫兰∽缬蓿可以自己搭建這臺服務(wù)器,也可以使用GitHub網(wǎng)站劫映。
1.創(chuàng)建github賬號
- 本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的
- step1:創(chuàng)建項目的SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
- 查看你生成的公鑰
cat ~/.ssh/id_rsa.pub
- 創(chuàng)建完成后违孝,在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件泳赋,這兩個就是SSH Key的秘鑰對雌桑,id_rsa是私鑰,不能泄露出去祖今,id_rsa.pub是公鑰校坑,可以放心地告訴任何人
- step2:* 登錄github注冊或登錄賬號,打開“settings”的“SSH Keys”頁面千诬,然后耍目,點(diǎn)“New SSH Key”,填上任意Title徐绑,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容邪驮,點(diǎn)“Add Key”,你就應(yīng)該看到已經(jīng)添加的Key
2.創(chuàng)建遠(yuǎn)程庫
- 登陸GitHub
- 在右上角找到“new repository”按鈕傲茄,創(chuàng)建一個新的倉庫
3.從遠(yuǎn)程庫克隆
- 將github上的項目毅访,克隆到本地一份
git clone git@github.com:賬號名/項目名.git
4.與遠(yuǎn)程庫交互
- 從遠(yuǎn)程庫獲取到本地
git pull
- 將本地提交遠(yuǎn)程庫
git push origin master
注意:每次提交前,需要先獲取盘榨,解決沖突后再次提交
4.本地倉庫
1.創(chuàng)建本地倉庫
- 創(chuàng)建空目錄
mkdir test7
cd test7
pwd #pwd命令用于顯示當(dāng)前目錄俺抽。
- 在目錄下創(chuàng)建本地倉庫
git init
- 創(chuàng)建成功后
- 版本庫就是一個目錄较曼,這個目錄里面的所有文件都可以被Git管理起來磷斧,每個文件的修改、刪除,Git都能跟蹤弛饭,以便任何時刻都可以追蹤歷史冕末,或者在將來某個時刻可以“還原”
2.工作區(qū)與暫存區(qū)
- 使用IDE打開目錄,創(chuàng)建項目侣颂,將文件添加到暫存區(qū)
git add 文件1 文件2 ...
git add 目錄
- 使用暫時區(qū)的內(nèi)容恢復(fù)工作區(qū)的內(nèi)容
git checkout -- 文件名
- 查看暫存區(qū)的狀態(tài)
git status
- 列出本地分支和遠(yuǎn)程分支
git branch -a
- 切換到新的分支
git checkout 分支名
3.暫存區(qū)與倉庫區(qū)
- 將暫存區(qū)的記錄添加到倉庫區(qū)
git commit -m '本次提交的說明信息'
- 查看倉庫區(qū)的歷史
當(dāng)前版本的歷史版本:git log
簡版顯示:git log --pretty=oneline
歷史命令:git reflog
在Git中档桃,用HEAD表示當(dāng)前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一樣)憔晒,上一個版本就是
HEAD^
藻肄,上上一個版本就是HEAD^^
,當(dāng)然往上100個版本寫100個^比較容易數(shù)不過來拒担,所以寫成HEAD~100
對比工作區(qū)和倉庫區(qū)中某版本某文件的不同
git diff HEAD -- 文件名
- 回退歷史版本到暫存區(qū)
# 撤銷add
git reset
git reset HEAD^或版本號
# 回退到上個提交歷史
git reset --soft + 提交的id
- 把分支推送到遠(yuǎn)程嘹屯,建立與本地的連接
# 假設(shè)分支名為features_dev
git push origin features_dev:features_dev
git branch --set-upstream-to=origin/features_dev features_dev
- 把自己的分支推送到主分支
master
為主分支,features_dev
為自己的分支
git checkout master
git pull
git merge features_dev
git push
- 查看標(biāo)簽+打標(biāo)簽(主要為了日后回退代碼某個版本使用)
# 查看標(biāo)簽
git tag
# 打標(biāo)簽
git tag v1.0.1
# 推送cangku
git push origin --tags
4.刪除文件
- 依次執(zhí)行如下命令
rm 文件名
git rm 文件名
git commit -m '說明信息'
僅看這些命令對于一個新接觸git的人來說肯定是有難度的从撼,所以這個過程一定要自己建立一個本地倉庫州弟,一步一步操作,這樣才是學(xué)習(xí)git
的正確姿勢低零。