- 一般配置
git --version //查看git的版本信息 git config --global user.name //獲取當前登錄的用戶 git config --global user.email //獲取當前登錄用戶的郵箱
- 登錄git
/* 如果剛沒有獲取到用戶配置,則只能拉取代碼,不能修改 要是使用git,你要告訴git是誰在使用*/ git config --global user.name 'userName' //設置git賬戶,userName為你的git賬號,
git config --global user.email 'email'
- 創建一個文件夾
mkdir nodejs //創建文件夾nodejs cd nodejs //切換到nodejs目錄下
- 初始化git倉庫
git init //在nodejs文件夾下初始化一個倉庫,此時文件里會到一個.git的隱藏文件夾
- 創建忽略文件
touch .gitignore //不需要服務器端提交的內容可以寫到忽略文件里 /* .git .idea /*
- 查看目錄
ls -al
- 創建文件並寫入內容
// 如果文件不存在則會創建文件 // 單個>箭頭表示寫入, >>表示追加 echo "hello git"
> index.html //將'hello git' 寫入到index.html中
- 查看文件內容
cat index.html
- 增加到暫存區中
git add index.html git add -A //全部添加到緩存區
- 增加到版本庫(倉庫)中
git commit -m '備注時間、次數、版本號等信息'
- 查看版本
git log --oneline
- 比較差異
// 比較的是暫存區和工作區的差異 git diff //比較的是暫存區和歷史區的差異 git diff --cached //比較的是歷史區和工作區的差異(修改) git diff master
- 撤回內容
// 如果修改了工作區的文件后發現改錯了 // 可以用暫存區或者版本庫里的文件替換掉工作區的文件 // 用暫存區中的內容或者版本庫中的內容覆蓋掉工作區 git checkout index.html
- 取消增加到暫存區的內容(添加時)
git reset HEAD index.html
//顯示目錄的狀體 有沒有添加或者修改文件
git status
- 刪除本地文件
rm fileName
- 刪除暫存區
// 保證當前工作區中沒有index.html // 使用--cached 表示只刪除緩存區中的內容
git rm index.html --cached
- 回滾版本
回滾最近的一個版本 git log git reset --hard HEAD/commit_id
- 回滾到未來
git reflog
- 創建分支
git branch dev
- 切換分支
git checkout dev
- 創建分支並切換分支
git checkout -b dev
- 刪除分支
git branch -d dev
- 在分支上提交新的版本
git commit -a -m 'dev1'
- 合並分支
git merge dev
- 分支的合並后顯示log
git log --oneline --graph --decorate
- 在分支開發的過程中遇到其他問題需要切換其他分支
// 保留寫好的內容在切換到主干 // 保留內容 git stash
- 再次切換分支后,需要應用一下保留的內容
git stash apply
- 丟掉保存的內容
git stash drop
- 使用並丟掉
git stash pop
- 最佳分支
// 有的時候開發需要合並指定的內容,而不是合並所有的提交
// 所以我們需要挑選最好的,自己生產版本
- 合並分支把樹杈掰到主干上
git rebase
- 添加遠程的倉庫
// push -u // -u參數 upstream git push origin master -u //獲取最新代碼
- 連接遠程倉庫
git remote add origin 倉庫的地址
- 查看遠程倉庫
git remote -v
- 刪除遠程倉庫
git remote rm origin
- git常用命令
// 安裝及配置:
Ubuntu下安裝:sudo apt-get install git 配置用戶名:git config --global user.name "你的名字" 配置e-mail:git config --global user.email "你的郵箱@xx.com" // 與添加有關的: 將當前目錄變為倉庫:git init 將文件添加到暫存區:git add 文件名 [可選:另一個文件名] 將暫存區提交到倉庫:git commit –m "描述" // 與查詢有關的: 查詢倉庫狀態:git status 比較文件差異(請在git add之前使用):git diff 文件名 查看倉庫歷史記錄(詳細):git log 查看倉庫歷史記錄(單行):git log --pretty=online 或 git log --online 查看所有版本的commit ID:git reflog // 與撤銷有關的: 撤銷工作區的修改:git checkout -- 文件名 撤銷暫存區的修改:git reset HEAD 文件名 回退到歷史版本:git reset --hard 該版本ID 回退到上個版本:git reset --hard HEAD^ 上上版本是HEAD^^,也可用HEAD~2表示,以此類推 // 與標簽有關的: 為當前版本打標簽:git tag 標簽名 為歷史版本打標簽:git tag 標簽名 該版本ID 指定標簽說明:git tag –a 標簽名 –m "標簽說明" [可選:版本ID] 查看所有標簽:git tag 查看某一標簽:git show 標簽名 刪除某一標簽:git tag –d 標簽名 // 與GitHub有關的: 先有本地庫,后有遠程庫,將本地庫push到遠程庫 關聯本地倉庫和GitHub庫:git remote add origin 網站上的倉庫地址 第一次將本地倉庫推送到GitHub上:git push –u origin master 先有遠程庫,后有本地庫,從遠程庫clone到本地庫 從遠程庫克隆到本地:git clone 網站上的倉庫地址
網站地址可以選擇HTTPS協議(https://github.com...
)、SSH協議(git@github.com...
)。
如果選擇SSH協議,必須將Ubuntu的公鑰添加到GitHub上。見下一步
SSH Key
生成SSH Key:ssh-keygen –t rsa –C "你的郵箱@xx.com"
生成Key時彈出選項,回車選擇默認即可。
Key保存位置:/root/.ssh
登陸GitHub,創建new SSH key,其內容為/root/.ssh/id_rsa.pub
中文本
已經有了本地庫和遠程庫,二者實現同步
本地庫的改動提交到遠程庫:git push origin master
更新本地庫至遠程庫的最新改動:git pull
---------------------
本文來自 tomatozaitian 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/tomatozaitian/article/details/73515849?utm_source=copy
- 其他
:w 保存 :w filenme 另存為 :q 退出 :wq 保存並退出 :e! 撤銷更改返回到上一次保存狀態 :q! 不保存強制退出 :set nu 設置行號
命令模式 ZZ(大寫)保存並退出 命令模式 u 轍銷操作,可多次使用 命令模式 dd 刪除當前行 命令模式 yy 復制當前行 命令模式 p 粘貼內容 命令模式 ctrl+f 向前翻頁 命令模式 ctrl+b 向后翻頁 命令模式 敲 i 進入編輯模式,當前光標處插入 命令模式 敲 a 進入編輯模式,當前光標后插入 命令模式 敲 A 進入編輯模式,光標移動到行尾 命令模式 敲 o 進入編輯模式,當前行下面插入新行 命令模式 敲 O 進入編輯模式,當前行上面插入新行