常用命令
git orde name meaning tip
git push origin branch_name push本地分支到遠程倉庫
git stash apply pull 完畢后出棧
git stash 入棧贞奋,進入暫存區(qū)
git pull origin master --allow-unrelated-histories 強制pull
git rm -r --cached .DS_Store 如果在剛開始沒加gitignore文件礁竞,后來加本地會有緩存,要刪除
git checkout --track origin/serverfix 是下面命令的簡寫
git checkout -b serverfix origin/serverfix 從遠程分支檢出一份本地分支带斑,并切換到該分支
git fetch branch_name 拉一個遠程分支
git fetch orgin 同步遠程倉庫內容到本地
git branch branch_name 創(chuàng)建本地分支
git chekout -b branch_name 創(chuàng)建本地分支并切換到該分支
git checkout -b branch_name origin/branch_name 拉遠程分支到本地
git push origin TagName 上傳tag
git tag -d TadName 刪除本地tag
git push origin --delete tag TagName 刪除遠程tag
git push origin :branch_name 刪除遠程分支 “:”前面的空格不能少鼓寺,原理是push一個空分支到server,相當于刪除
git branch -D branch_name 刪除本地分支
vim ~/.gitconfig 查看git賬戶信息
git log 查看log 翻頁space退出q
git reset --hard 回到前一次commint之前的狀態(tài) 一定要記得先commit
git checkout -b develop master 創(chuàng)建develop分支
git checkout master 切換分支到master分支
git merge --no-ff develop 當前在master分之上勋磕,將develop分支上的內容合并到master分支
git add -all 表示保存所有變化(包括新建妈候、修改和刪除) 也可以用git add .來代替
git status 查看變動的文件
git rebase -i origin/master 合并多個commit
git push --force origin myfeature 合并到遠程倉庫 如果rebase了一定要用force參數(shù)。因為分支歷史改變了挂滓,跟遠程分支不一定兼容苦银,有可能要強行推送
git checkout -- xxxxx 忽略本地未加入暫存隊列的文件的修改(該文件相當于被discard) 如果已加入到了暫存列,先執(zhí)行git reset HEAD -- xxxxx杂彭,恢復所有git checkout .
git reset HEAD -- xxxxx 取出已存入暫存隊列的文件
git reset --hard xxxx 恢復到指定版本 git log找到要恢復的版本
進入文件目錄墓毒,git log xxx(文件名),git reset xxxx(版本號) xxxx(文件名),git checkout xxxx(文件名) 恢復單個文件的歷史版本
git diff 查看文件沖突 查看指定文件git diff -w xxxx
git status -s 查看文件沖突狀態(tài)
git show xxxx(版本號) 查看已經(jīng)commit的內容
git revert HEAD 撤銷最近一次的提交 撤銷上上次的提交git revert HEAD^
git config --global --list 查看global的配置列表
git config --global --remove-section <name> 刪除全局目錄下的某個section,eg:user亲怠、email git分為system所计、global、local
–no-ff: 不采用git默認的快進式合并团秽,而是用正常合并
臨時分支
git orde name meaning tip
feature分支 功能分支 為了開發(fā)某種功能主胧,從develop上分出來。開發(fā)完成后习勤,再并入develop
git checkout -b feature-x develop 創(chuàng)建功能分支
git checkout develop
git merge --no-ff feature-x 先切換到develop分支踪栋,再把feature分支合并到develop x是參數(shù)
git branch -d feature-x 刪除feature分支 x是參數(shù)
release分支 預發(fā)布分支 預發(fā)布分支,它是指發(fā)布正式版本之前(即合并到Master分支之前)图毕,我們可能需要有一個預發(fā)布的版本進行測試
git checkout -b release-1.2 develop 創(chuàng)建預發(fā)布分支 1.2是參數(shù)
git checkout master
git merge --no-ff release-1.2 合并到master分支 1.2是參數(shù)
git checkout develop
git merge --no-ff release-1.2 再合并到develop分支 1.2是參數(shù)
git branch -d release-1.2 刪除預發(fā)布分支 1.2是參數(shù)
bug分支 bug分支 軟件正式發(fā)布以后夷都,難免會出現(xiàn)bug。這時就需要創(chuàng)建一個分支予颤,進行bug修補囤官。修補bug分支是從Master分支上面分出來的。修補結束以后蛤虐,再合并進Master和Develop分支党饮。它的命名,可以采用fixbug-*的形式
git checkout -b fixbug-0.1 master 創(chuàng)建bug分支 0.1是參數(shù)
git checkout master
git merge --no-ff fixbug-0.1 合并到master分支 0.1是參數(shù)
git checkout develop
git merge --no-ff fixbug-0.1 合并到develop分支 0.1是參數(shù)
git branch -d fixbug-0.1 刪除bug分支 0.1是參數(shù)
ssh -T git@121.40.53.85 打印出當前用戶 121.40.53.85是倉庫地址
上傳項目到Git遠端倉庫
- 首先創(chuàng)建一個遠程倉庫驳庭,得到遠程倉庫地址
- 進入本地目錄* git init初始化git*
- git add .添加當前目錄下的所有文件和文件夾
- 添加提交信息git commit -m "first commit"刑顺,這時候并未真正的提交到服務器
- git remote add origin https://github.com/xxxx/xxxx.git添加遠端倉庫,origin是默認倉庫的名稱饲常。
- 提交到遠端倉庫master分支git push -u origin master蹲堂,-u表示以后提交都是默認到origin的master分支上
- 之后提交順序為
- 1 git add .*
- *2 git commit -m 'xxxxx' *
- 3 git push
配置SSH
- 查看是否存在公鑰:ls -al ~/.ssh
- 生成密鑰:ssh-keygen -t rsa -C "your_email@example.com",一路回車鍵
- eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
- 復制公鑰:pbcopy < ~/.ssh/id_rsa.pub 參考github
清楚git信息
find . -name “.git” | xargs rm -Rf #git flow