
image.png
前言 GIT命令眾多,在此僅是記錄備忘而已。先上圖片鎮(zhèn)樓。哈哈,文末有福利,可免費下載git 指令速查表和和破解版beyond compare
工欲善其事,必先利其器
常用設(shè)置
# 設(shè)置提交代碼時的用戶信息、
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
# 讓Git顯示顏色,突出新增文件,改變的文件等
$ git config --global color.ui true
設(shè)置別名,讓git更高效
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
設(shè)置difftool和mergetool讓git飛起
//針對Git 2.3和更新
1.啟動Beyond Compare,進入Beyond Compare菜單并運行安裝命令行工具。
2.在終端中指定difftool
$ git config --global diff.tool bc3
3.在終端指定mergetool:
$ git config --global merge.tool bc3
$ git config --global mergetool.bc3.trustExitCode true
使用
$ git difftool file.ext
$ git mergetool file.ext
更多參考Beyond Compare設(shè)置
您或者會問設(shè)置過這么多怎么查看生效沒,簡單只需要執(zhí)行命令
$ git config --list 或者在mac電腦
Command + Shift + . 在 Finder 中顯示隱藏文件然后查看比如我的電腦查看
/Users/zhulk/.gitconfig

image.png
接下來實戰(zhàn)
首先檢出或上傳代碼(在git未建立關(guān)聯(lián)前)
//默認下載master分支
$ git clone [url]
//檢出指定遠程分支
$ git clone -b xxxx [url]
//第一次上傳本地到git,首先建立遠程關(guān)聯(lián),首次推送一定要加上 -u
$ git remote add origin [url]
$ git push -u origin master
接下里就能和其他小伙伴一起玩耍啦,不過為了更好的玩耍,先介紹以下三個小弟:
1.stash
暫存區(qū),當我們項目做一半后,boss突然來了其他需求或者bug,你不得不暫時把你未完的工作存起來,解決后然后恢復繼續(xù)工作。常用指令如下:
//把未完工作暫存
$ git stash
//查看所有暫存
$ git stash list
//找回暫存,繼續(xù)工作
$ git stash pop 或者 $ git stash apply
$ git stash pop 或者 $ git stash drop stash@{0}
2.branch
一般項目,需要構(gòu)建不同的分支,一般分為集成分支、功能分支和修復分支,分別命名為 develop、feature 和 hotfix。常用命令:
//查看本地所有分支,有*號代表當前分支
$ git branch
//創(chuàng)建不存在的dev分支并切換到dev:
$ git checkout -b dev
//檢出已經(jīng)存在的master分支
$ git checkout master
//合并dev分支到master分支
$ git merge dev
//刪除dev分支
$ git branch -d dev
3.一次完整提交流程,好了接下來和小伙伴玩耍一次,來回拉取和提交代碼
// 添加指定文件
$ git add [文件名]
// 添加所有文件
$ git add .
//提交
$ git commit -m "注釋"
//修改上次的提交注釋
$ git commit --amend
//嘗試推送到服務(wù)器
$ git push
??如果push失敗并提示hint: Updates were rejected because the tip of your current branch is behind則執(zhí)行
//拉取遠程最新代碼
$ git pull
??git pull也失敗了,提示There is no tracking information for the current branch.
說明本地和遠程分支沒關(guān)聯(lián),git跟蹤不到,需根據(jù)提示設(shè)置關(guān)聯(lián) 比如本地dev和origin/dev的鏈接:
//建立本地和遠程分支的鏈接
$ git branch --set-upstream dev origin/dev
//在拉取遠程代碼
$ git pull
如果有沖突則需先解決沖突,然后再執(zhí)行add-commit-push等命令
//再次推送到服務(wù)器
$ git push
4.git指針
每次提交都會生成一個commit id,并指向當前,如果我們覆蓋了別人的代碼,或者提交錯誤了,可以通過修改提交id,讓代碼回退,或者指向某次提交。
常用命令:
//查看提交記錄,顯示commitid,Author等信息
$ git log
// 指向某個版本
$ git reset --hard [commId]
關(guān)聯(lián)多個遠程,關(guān)聯(lián)代碼
//關(guān)聯(lián)GitHub的指定url
$ git remote add github [url]
// 查看關(guān)聯(lián)的版本
$ git remote -v
??由于現(xiàn)在關(guān)聯(lián)了多個遠程分支,所以我們在pull和push相關(guān)操作時需要指明操作的具體分支;
//如推送到遠程github develop分支上
$ git pull github develop
$ git push github develop
一般穩(wěn)定后,每次發(fā)布后都會打tag,方便以后找回,修改未知bug等。
//打tag
$ git tag v1.0
查看所有標簽
$ git tag
//刪除 標簽
$ git tag -d v0.1
//推送標簽到遠程
$ git push origin v1.0
寫在最后,如果你不習慣命令行,當然你也可以使用可視化工具,比如 常用的
sourcetree tower
資源
下載git速查表
鏈接:https://pan.baidu.com/s/1F0DLQ29UJ27v_YSHt7Cyow 密碼:1huw
Beyond Compare破解下載
鏈接:https://pan.baidu.com/s/1n8siuZpDZObmEsw0aE7S3Q 密碼:80t8