日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Git使用的小技巧

在日常工作中,經(jīng)常會(huì)用到Git操作。但是對(duì)于新人來講,剛上來對(duì)Git很陌生,操作起來也很懵逼,下面為大家詳細(xì)講解一下git使用的小技巧。

創(chuàng)新互聯(lián)專注于海豐企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城網(wǎng)站開發(fā)。海豐網(wǎng)站建設(shè)公司,為海豐等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

一、Configuration:配置

列舉所有的別名與配置

git config --list

Git 別名配置

git config --global alias.  git config --global alias.st status

設(shè)置git為大小寫敏感

git config --global core.ignorecase false

二、Help:常用的輔助查詢命令

在git 命令行里查看everyday git

git help everyday

顯示git常用的幫助命令

git help -g

獲取Git Bash的自動(dòng)補(bǔ)全

~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc

設(shè)置自動(dòng)更正

git config --global help.autocorrect 1

三、Remote:遠(yuǎn)端倉庫配置

獲取所有遠(yuǎn)端引用配置

git remote

或者

git remote show

修改某個(gè)遠(yuǎn)端的地址

git remote set-url origin URL

Repo

查看當(dāng)前倉庫中的所有未打包的objects和磁盤占用

git count-objects --human-readable

從object數(shù)據(jù)庫中刪除所有不可達(dá)的object

git gc --prune=now --aggressive

四、文件類操作 ,Cache:緩存,Track:文件追蹤,

展示所有被追蹤的文件

git ls-files -t

展示所有未被追蹤的分支

git ls-files --others

展示所有被忽略的文件

git ls-files --others -i --exclude-standard
git check-ignore*
git status --ignored

Manipulation:操作

停止追蹤某個(gè)文件但是不刪除它

git rm --cached 
  

或者

git rm --cached -r 
  

強(qiáng)制刪除未被追蹤的文件或者目錄

git clean -f

git clean -f -d
git clean -df

清空.gitignore

git clean -X -f

Changes:修改

Info:信息查看

查看上次提交之后的未暫存文件

git diff

查看準(zhǔn)備用于提交的暫存了的修改的文件

git diff --cached

顯示所有暫存與未暫存的文件

git diff HEAD

查看最新的文件版本與Stage中區(qū)別

git diff --staged

dd:追蹤某個(gè)修改,準(zhǔn)備提交

Stage某個(gè)文件的部分修改而不是全部

git add -p

Reset:修改重置

以HEAD中的最新的內(nèi)容覆蓋某個(gè)本地文件的修改

git checkout -- 
  

Stash:貯存

Info:信息查看

展示所有保存的Stashes

git stash list

Manipulation:操作

Save:保存

保存當(dāng)前追蹤的文件修改狀態(tài)而不提交,并使得工作空間恢復(fù)干凈

git stash

或者

git stash save

保存所有文件修改,包括未追蹤的文件

git stash save -u

或者

git stash save --include-untracked

Apply:應(yīng)用

應(yīng)用任何的Stash而不從Stash列表中刪除

git stash apply 
  

應(yīng)用并且刪除Stash列表中的最后一個(gè)

git stash pop

或者

git stash apply stash@{0} && git stash drop stash@{0}

刪除全部存儲(chǔ)的Stashes

git stash clear

或者

git stash drop 
  

從某個(gè)Stash中應(yīng)用單個(gè)文件

git checkout 
  
    -- 
   
  

或者

git checkout stash@{0} -- 
  

Commit:提交

檢索某個(gè)提交的Hash值

git rev-list --reverse HEAD | head -1

Info:信息查看

List:Commit列表

查看自Fork Master以來的全部提交

git log --no-merges --stat --reverse master..

展示當(dāng)前分支中所有尚未合并到Master中的提交

git cherry -v master

或者

git cherry -v master 
  

可視化地查看整個(gè)Version樹

git log --pretty=oneline --graph --decorate --all

或者

gitk -all

查看所有在分支1而不在分支2中的提交

git log Branch1 ^Branch2

Files:文件信息

展示直到某次提交的全部文件列表

git ls-tree --name-only -r 
  

展示所有在某次提交中修改的文件

git diff-tree --no-commit-id --name-only -r 
  

展示所有對(duì)于某個(gè)文件的提交修改

git log --follow -p -- 
  

Manipulation:關(guān)于提交的操作

Apply:Commit確認(rèn)或者應(yīng)用

利用cherry-pick將某個(gè)分支的某個(gè)提交跨分支的應(yīng)用到其他分支

git checkout 
  
    && git cherry-pick 
   
  

提交時(shí)候忽略Staging區(qū)域

git commit -am 
  

提交時(shí)候忽略某個(gè)文件

git update-index --assume-unchanged Changelog;

git commit -a;

git update-index --no-assume-unchanged Changelog

撤銷某個(gè)故意忽略

git update-index --no-assume-unchanged 
  

將某個(gè)提交標(biāo)記為對(duì)之前某個(gè)提交的Fixup

git commit --fixup 
  

Reset:將當(dāng)前分支的HEAD重置到某個(gè)提交時(shí)候的狀態(tài)

重置HEAD到第一次提交

git update-ref -d HEAD

丟棄自某個(gè)Commit之后的提交,建議只在私有分支上進(jìn)行操作。注意,和上一個(gè)操作一樣,重置不會(huì)修改當(dāng)前的文件狀態(tài),Git會(huì)自動(dòng)將當(dāng)前文件與該Commit時(shí)候的改變作為Changes列舉出來

git reset 
  

Undo&Revert:撤銷與恢復(fù)某個(gè)Commit

以創(chuàng)建一個(gè)新提交的方式撤銷某個(gè)提交的操作

git revert 
  

恢復(fù)某個(gè)文件到某個(gè)Commit時(shí)候的狀態(tài)

git checkout 
  
    -- 
   
  

Update:修改某個(gè)Commit

修改上一個(gè)提交的信息

git commit -v --amend

修改提交的作者信息

git commit --amend --author='Author Name   ' 

在全局的配置改變了之后,修改某個(gè)作者信息

git commit --amend --reset-author --no-edit

修改前一個(gè)Commit的提交內(nèi)容但是不修改提交信息

git add --all && git commit --amend --no-edit

Branch:分支

Info:信息查看

獲取當(dāng)前分支名

git rev-parse --abbrev-ref HEAD

Tag

列舉當(dāng)前分支上最常用的標(biāo)簽

git describe --tags --abbrev=0

List:分支枚舉

獲取所有本地與遠(yuǎn)程的分支

git branch -a

只展示遠(yuǎn)程分支

git branch -r

根據(jù)某個(gè)Commit的Hash來查找所有關(guān)聯(lián)分支

git branch -a --contains 
  
    或者 git branch --contains 
   
  

Changes:某個(gè)分支上的修改情況查看

查看兩周以來的所有修改

git log --no-merges --raw --since='2 weeks ago'

或者

git whatchanged --since='2 weeks ago'

Merger:合并情況查看

追蹤某個(gè)分支的上游分支

git branch -u origin/mybranch

列舉出所有的分支以及它們的上游和最后一次提交

git branch -vv

列舉出所有已經(jīng)合并進(jìn)入Master的分支

git branch --merged master

Manipulation:操作

Checkout:檢出與分支切換

快速切換到上一個(gè)分支

git checkout -

不帶歷史記錄的檢出某個(gè)分支

git checkout --orphan 
  

Remove:分支移除

刪除本地分支

git branch -d 
  

刪除遠(yuǎn)程分支

git push origin --delete 
  
    或者 git push origin :
   
  

移除所有已經(jīng)合并進(jìn)入Master的分支

git branch --merged master | grep -v '^/*' | xargs -n 1 git branch -d

移除所有在遠(yuǎn)端已經(jīng)被刪除的遠(yuǎn)程分支

git fetch -p

或者

git remote prune origin

Update:信息更新

修改當(dāng)前分支名

git branch -m 
  
    或者 git branch -m [
   
    ] 
    
   
  

rchive:打包

將Master分支打包

git archive master --format=zip --output=master.zip

將歷史記錄包括分支內(nèi)容打包到一個(gè)文件中

git bundle create 
  
    
   
  

從某個(gè)Bundle中導(dǎo)入

git clone repo.bundle 
  
    -b 
   
  

Merge:合并

Pull&Push:遠(yuǎn)程分支合并操作

用pull覆蓋本地內(nèi)容

git fetch --all && git reset --hard origin/master

根據(jù)Pull的ID拉取某個(gè)Pull請(qǐng)求到本地分支

git fetch origin pull/
  
   /head:
   
  

或者

git pull origin pull/
  
   /head:
   
  

Rebase:變基

在Pull時(shí)候強(qiáng)制用變基進(jìn)行操作

git config --global branch.autosetuprebase always

將某個(gè)feature分支變基到master,然后合并進(jìn)master

git checkout feature && git rebase @{-1} && git checkout @{-2} && git merge @{-1}

變基之前自動(dòng)Stash所有改變

git rebase --autostash

利用變基自動(dòng)將fixup提交與正常提交合并

git rebase -i --autosquash

利用ReBase將前兩個(gè)提交合并

git rebase --interactive HEAD~2

Diff&Conflict:差異與沖突

Info:信息查看

列舉全部的沖突文件

git diff --name-only --diff-filter=U

在編輯器中打開所有沖突文件

git diff --name-only | uniq | xargs $EDITOR

Workflow:工作流

SubModules:子模塊

Info:信息查看

Manipulation:操作

利用SubTree方式將某個(gè)Project添加到Repo中

git subtree add --prefix=
  
   /
   
     --squash git@github.com:
    
     /
     
      .git master 
     
    
   
  

更新所有的子模塊

git submodule foreach git pull

Work Tree

Manipulation:操作

從某個(gè)倉庫中創(chuàng)建一個(gè)新的Working Tree

git worktree add -b 
  
    
   
     
    
   
  

從HEAD狀態(tài)中創(chuàng)建一個(gè)新的Working Tree

git worktree add --detach 
  
    HEAD 
  

分享題目:Git使用的小技巧
網(wǎng)站URL:http://www.5511xx.com/article/dhhjgoj.html