git指令

时间:2024-09-24 22:04:38

返回当前目录路径:

$ pwd

1.1 git add

  • git add . #将文件先暂存到staging area, stages new and modified, without deleted
  • git add -A #states all
  • git add -u #states modified and deleted, without new
  • git add -i #进入互动模式
  • git add filename #新增一个文件
  • git add modify-file #修改过得文档也要加add,不然在commit时要加-a

1.2 git rm #删除文件

  • git rm filename

1.3 git mv #修改文件名,或搬移目录

  • git mv filename newfilename

1.4 git status #查看状态

1.5 git commit

  • git commit
  • git commit -m 'commit message'
  • git commit -a -m "message"
  • git commit -a -v #-v查看修改的内容

1.6 git branch

  • git branch #列出所有的分支
  • git branch new-branch #产生新的分支
  • git branch new-branch master #由master产生新的分支
  • git branch -d branch #删除分支
  • git branch -D branch #强制删除分支
  • git checkout -b new-branch #产生新分支并切换过去
  • git branch -r #列出所有repository branch
  • git branch -a #列出所有分支

1.7 git checkout

  • git checkout branch-name #切换到branch-name
  • git checkout master #切换到master
  • git checkout -b new-branch master #从master建立新的分支,并切换过去
  • git checkout -b new-branch #由当前分支建立新分支
  • git checkout -b new-branch origin #由origin建立分支
  • git checkout filename #还原状态到repository状态
  • git checkout HEAD . #将所有文件都checkout出来
  • git checkout xxxx . #xxxx是commit的编号的前四位,将xxxx编号的版本checkout出来
  • git checkout – * #恢复上一次commit的状态

1.8 git diff

  • git diff master #与master对比看哪些文件不同
  • git diff –cached #比较staging area与repository
  • git diff tag1 tag2 #tag1与tag2比较
  • git diff tag1:file1 tag2:file2 #tag1的file1与tag2的file2比较
  • git diff #当前与staging area比较
  • git diff HEAD #当前与repository比较
  • git diff new-brach #当前与newbranch的比较
  • git diff –stat

1.9 git tag

  • git tag v1 ebff #为commit ebff810c462234433434323334343设置标记v1
  • git tag 版本1 ebff #tag可以为中文
  • git tag -d 版本1 #删除标记版本1

1.10 git log

  • git log #列出所有log
  • git log –all
  • git log -p #列出log及修改的内容
  • git log -p filename #将filename的log及修改内容列出来
  • git log –name-only #列出哪些文件被修改
  • git log –stat –summary #列出各个版本间的改动及行数
  • git log filename #这个文件的所有log
  • git log directory #这个目录的所有log
  • git log -S'FUNC()‘ #列出由FUNC()这个字符串的log
  • git log –no-merges #不要列出merge的log
  • git log –since="2 weeks ago" #列出最后两周的log
  • git log –pretty=oneline
  • git log –pretty=short

1.11 git show

  • git show ebff #显示commit ebff810xxxxxxxxxxx的内容
  • git show v1 #显示tag v1的修改内容
  • git show v1:hello.txt #显示tag:v1的hello.txt文件修改内容
  • git show HEAD #当前版本的修改文件
  • git show HEAD^ #前一版本所有修改的文件
  • git show HEAD~4 #前4版本的修改文件

1.12 git reset

  • git reset –hard HEAD^ #还原到前一版本
  • git reset –soft HEAD~3

1.13 git grep

  • git grep "hello" v1 #查找tag:v1中是否由“hello"字符串
  • git grep "hello"

1.14 git stash

  • git stash #放进暂存区
  • git stash list #列出暂存区的文件
  • git stash pop #取出最新的一笔,并移除
  • git stash apply #取出但不移除
  • git stash clear #清除暂存区

1.15 git merge

  • git merge #合并

1.16 git blame

  • git blame filename #列出此文件所有commit的记录

1.17 git ls-files

  • git ls-files -d #查看已删除的文件
  • git ls-files -d | xargs git checkout – #将已删除的文件还原

1.18 git revert

  • git revert HEAD #回到前一此commit的状态
  • git revert HEAD^ #回到上上一次的状态

1.19 git remote

  • git remote
  • git remote add new-branch http://git.xxx.xx.com/project.git #增加远程repository的branch
  • git remote show #列出现在由多少repository
  • git remote rm new-branch #删除服务器上的新分支
  • git remote update #更新所有repository branch

1.20 git fetch

  • git fetch origin

1.21 git push

  • git push origin:heads/xxx-branch

转载于:http://yannik520.github.io/git_and_repo.html