Git
什么是Git?
- Git是一款源代碼管理工具(版本控制工具)
- 我們寫的代碼需要使用Git進行管理塌碌。
- 源代碼有必要管理起嗎亲桥?
- 1.0
- 2.0 //
- svn,vss,vcs.... git
- 有必要萌京,因為人工的去處理不同的版本硬毕,做相應(yīng)備份會很麻煩京闰。
- Git是linux之父當(dāng)年為了維護linux---linus之前也是手動維護合并把文件發(fā)給Linus
- linus自己寫了一個版本管理的工具(Git)
Git安裝
初始化Git倉儲/(倉庫)
- 這個倉庫會存放他托,git對我們項目代碼進行備份的文件
- 在項目目錄右鍵打開 git bash
- 命令:
git init
自報家門
- 就是在git中設(shè)置當(dāng)前使用的用戶是誰
- 每一次備份都會把當(dāng)前備份者的信息存儲起來
- 命令:
- 配置用戶名:
git config --global user.name "xiaoming"
- 配置郵箱:
git config --global user.email "xm@sina.com"
- 配置用戶名:
把大象放到冰箱要幾步
- 打開冰箱門
- 放大象
- 關(guān)上冰箱
把代碼存儲到.git倉儲中
- 1.把代碼放到倉儲的門口
-
git add ./readme.md
所指定的文件放到大門口 -
git add ./
把所有的修改的文件添加到大門口
-
- 2.把倉儲門口的代碼放到里面的房間中去
git commit -m "這是對這次添加的東西的說明"
可以一次性把我們修改的代碼放到房間里(版本庫)
-
git commit --all -m "一些說明"
- --all 表示是把所有修改的文件提交到版本庫
查看當(dāng)前的狀態(tài)
- 可以用來查看當(dāng)前代碼有沒有被放到倉儲中去
- 命令:
git status
git中的忽略文件
- .gitignore,在這個文件中可以設(shè)置要被忽略的文件或者目錄掖肋。
- 被忽略的文件不會被提交倉儲里去.
- 在.gitignore中可以書寫要被忽略的文件的路徑,以/開頭赏参,
一行寫一個路徑志笼,這些路徑所對應(yīng)的文件都會被忽略沿盅,
不會被提交到倉儲中- 寫法
-
/.idea
會忽略.idea文件 -
/js
會忽略js目錄里的所有文件 -
/js/*.js
會忽略js目錄下所有js文件
-
- 寫法
查看日志
-
git log
查看歷史提交的日志 -
git log --oneline
可以看到簡潔版的日志
回退到指定的版本
-
git reset --hard Head~0
- 表示回退到上一次代碼提交時的狀態(tài)
-
git reset --hard Head~1
- 表示回退到上上次代碼提交時的狀態(tài)
-
git reset --hard [版本號]
- 可以通過版本號精確的回退到某一次提交時的狀態(tài)
-
git reflog
- 可以看到每一次切換版本的記錄:可以看到所有提交的版本號
分支
- 默認(rèn)是有一個主分支master
創(chuàng)建分支
-
git branch dev
- 創(chuàng)建了一個dev分支
- 在剛創(chuàng)建時dev分支里的東西和master分支里的東西是一樣的
切換分支
-
git checkout dev
- 切換到指定的分支,這里的切換到名為dev的分支
git branch
可以查看當(dāng)前有哪些分支
- 切換到指定的分支,這里的切換到名為dev的分支
合并分支
-
git merge dev
- 合并分支內(nèi)容,把當(dāng)前分支與指定的分支(dev),進行合并
- 當(dāng)前分支指的是
git branch
命令輸出的前面有*號的分支
- 合并時如果有沖突,需要手動去處理籽腕,處理后還需要再提交一次.
GitHub
- https://github.com
- 不是git,只是一個網(wǎng)站
- 只不過這個網(wǎng)站提供了允許別通過git上傳代碼的功能
提交代碼到github(當(dāng)作git服務(wù)器來用)
git push [地址] master
- 示例:
git push https://github.com/huoqishi/test112.git master master
- 會把當(dāng)前分支的內(nèi)容上傳到遠(yuǎn)程的master分支上
git pull [地址] master
- 示例:
git pull https://github.com/huoqishi/test112.git master
- 會把遠(yuǎn)程分支的數(shù)據(jù)得到:(注意本地-要初始一個倉儲!)
git clone [地址]
- 會得到遠(yuǎn)程倉儲相同的數(shù)據(jù),如果多次執(zhí)行會覆蓋本地內(nèi)容嗡呼。