## 什麼是Git?git
- Git是一款源代碼管理工具(版本控制工具,跟SVN差很少)github
## 初始化Git倉儲/(倉庫)bash
- 在項目目錄右鍵打開 git bash服務器
- 命令: git initssh
## 自報家門ide
+ 配置用戶名: git config --global user.name "xiaoming"工具
+ 配置郵箱: git config --global user.email "xm@sina.com"網站
## 把代碼存儲到.git倉儲中idea
- 1.把代碼放到倉儲的門口.net
+ git add ./readme.md 所指定的文件放到大門口
+ git add ./ 把全部的修改的文件添加到大門口
- 2.把倉儲門口的代碼放到裏面的房間中去
+ git commit -m "這是對此次添加的東西的說明" `
## 能夠一次性把咱們修改的代碼放到房間裏(版本庫)
- git commit --all -m "一些說明"`
+ all 表示是把全部修改的文件提交到版本庫
## 查看當前的狀態
- 能夠用來查看當前代碼有沒有被放到倉儲中去
- 命令: git status
## git中的忽略文件
- .gitignore,在這個文件中能夠設置要被忽略的文件或者目錄。
- 被忽略的文件不會被提交倉儲裏去.
- 在.gitignore中能夠書寫要被忽略的文件的路徑,以/開頭,
一行寫一個路徑,這些路徑所對應的文件都會被忽略,
不會被提交到倉儲中
+ 寫法
* /.idea 會忽略.idea文件
* /js 會忽略js目錄裏的全部文件
* /js/*.js 會忽略js目錄下全部js文件
## 查看日誌
- git log 查看歷史提交的日誌
- git log --oneline 能夠看到簡潔版的日誌
## 回退到指定的版本
- git reset --hard Head~0
+ 表示回退到上一次代碼提交時的狀態
- git reset --hard Head~1
+ 表示回退到上上次代碼提交時的狀態
- git reset --hard [版本號]
+ 能夠經過版本號精確的回退到某一次提交時的狀態
- git reflog 能夠看到全部提交的版本號
## 分支
- 默認是有一個主分支master
### 建立分支
- git branch dev
+ 建立了一個dev分支
+ 在剛建立時dev分支裏的東西和master分支裏的東西是同樣的
### 切換分支
- git checkout dev
+ 切換到指定的分支,這裏的切換到名爲dev的分支
git branch 能夠查看當前有哪些分支
### 合併分支
- git merge dev
+ 合併分支內容,把當前分支與指定的分支(dev),進行合併
+ 當前分支指的是git branch命令輸出的前面有*號的分支
- 合併時若是有衝突,須要手動去處理,處理後還須要再提交一次.通常是先拉下來,在本地處理好衝突的再提交
### GitHub
- 不是git,只是一個網站
- 只不過這個網站提供了容許別經過git上傳代碼的功能
### 提交代碼到github(看成git服務器來用)
- git push [地址] master
+ 示例: git push https://github.com/huoqishi/test112.git master
+ 會把當前分支的內容上傳到遠程的master分支上
- git pull [地址] master
+ 示例: git pull https://github.com/huoqishi/test112.git master`
+ 會把遠程分支的數據獲得:(注意本地-要初始一個倉儲!)
- git clone [地址]
+ 會獲得遠程倉儲相同的數據,若是屢次執行會覆蓋本地內容。
Git上傳代碼能夠經過HTTP或者SSH
SSH上傳不須要輸入帳號密碼就能進身份驗證
公鑰 私鑰 二者之間是有關聯的 生成公鑰和私鑰 ssh-keygen -t rsa -C "by@163.com" 打開git命令窗口,輸入命令ssh-keygen -t rsa -C "by@163.com"回車.(會生成在默認路徑/c/Users/bye/.ssh/id_rsa下,) 其中,"by@163.com"是任意郵箱,只要符合郵箱命名規範就行
到相應的路徑下找到生成的公鑰和私鑰 用記事本打開.pub後綴的文件(公鑰),而後一字不漏的複製
3.登陸Github官網 ,new 一個SSH keys 輸入title 把複製的內容拷貝到Key中 點擊Add SSH key
4.成功建立名爲mybook的SSH key
1.設置簡寫變量:$ git remote add origin https://github.com/huoqishi/test112.git 2.git push origin master 推送到服務器 3.git pull origin master 拉下來本地 4.git push origin -u master以後,會默認關聯,下次只須要git push或者git pull
原文連接:https://blog.csdn.net/weixin_43843847/article/details/89668720