Git常用命令
請確保已經(jīng)安裝里git客戶端
一般配置
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'
創(chuàng)建一個文件夾
mkdir nodejs //創(chuàng)建文件夾nodejscd nodejs //切換到nodejs目錄下
初始化git倉庫
git init //在nodejs文件夾下初始化一個倉庫耍属,此時文件里會到一個.git的隱藏文件夾
創(chuàng)建忽略文件
touch .gitignore //不需要服務器端提交的內容可以寫到忽略文件里
/*
.git
.idea
*/
查看目錄
ls -al
創(chuàng)建文件并寫入內容
如果文件不存在則會創(chuàng)建文件
echo "hello git" > index.html //將'hello git' 寫入到index.html中
單個>箭頭表示寫入托嚣, >>表示追加
查看文件內容
cat index.html
增加到暫存區(qū)中
git add index.html
git add -A //全部添加到緩存區(qū)
增加到版本庫中
git commit -m '備注信息'
查看版本
git log --oneline
比較差異
比較的是暫存區(qū)和工作區(qū)的差異
git diff
比較的是暫存區(qū)和歷史區(qū)的差異
git diff --cached
比較的是歷史區(qū)和工作區(qū)的差異(修改)
git diff master
撤回內容
(如果修改了工作區(qū)的文件后發(fā)現(xiàn)改錯了,可以用暫存區(qū)或者版本庫里的文件替換掉工作區(qū)的文件)
用暫存區(qū)中的內容或者版本庫中的內容覆蓋掉工作區(qū)
git checkout index.html
取消增加到暫存區(qū)的內容(添加時)
git reset HEAD index.html
//顯示目錄的狀體 有沒有添加或者修改文件
git status
刪除本地文件
rm fileName
刪除暫存區(qū)
保證當前工作區(qū)中沒有index.html
git rm index.html --cached
使用--cached 表示只刪除緩存區(qū)中的內容
回滾版本
回滾最近的一個版本 git log
git reset --hard HEAD/commit_id
回滾到未來
git reflog
分支管理
創(chuàng)建分支
git branch dev
切換分支
git checkout dev
創(chuàng)建分支并切換分支
git checkout -b dev
刪除分支
git branch -d dev
在分支上提交新的版本
git commit -a -m 'dev1'
合并分支
git merge dev
分支的合并后顯示log
git log --oneline --graph --decorate
在分支開發(fā)的過程中遇到其他問題需要切換其他分支
保留寫好的內容在切換到主干
保留內容
git stash
在次切換分之后需要應用一下保留的內容
git stash apply
丟掉保存的內容
git stash drop
使用并丟掉
git stash pop
最佳分支
-有的時候開發(fā)需要合并指定的內容厚骗,而不是合并所有的提交示启,所以我們需要挑選最好的,自己生產(chǎn)版本
合并分支把樹杈掰到主干上
git rebase
添加遠程的倉庫
push -u
-u參數(shù) upstream
git push origin master -u //獲取最新代碼
連接遠程倉庫
git remote add origin 倉庫的地址
查看遠程倉庫
git remote -v
刪除遠程倉庫
git remote rm origin
忽略修改權限的文件
git config core.filemode false