git常见命令大全

  • Jesse
  • 2018-01-31 12:00:00
  • 3183

查看日志

git log

查看文件修改状态:

git status
git add .
git commit -m '备注'
git push

获取从2017-09-11到2017-09-22更新的文件,作者是jesse,时间格式化为2017-09-20,只显示备注

git log --author=jesse --since="2017-09-11" --before="2017-09-22" --no-merges --name-status --date=short --pretty="%ad - %s"

根据备注查询以"上传"开头的的所有字符,支持正则匹配

git log --grep '^求职大赛' --author=jesse --no-merges --name-status --date=short --pretty="%ad - %s"

撤销未提交的修改

git checkout /var/www/test/index.html   /*恢复到上一次提交时的状态,注意:这种方式在git add .之后不能撤销-*/
git reset HEAD /e/git/aa.txt    /*若已经git add .了,用这条命令取消,再使用上一条的checkout即可*/

修改已commit的注释

git commit --amend

文件对比

git diff a.txt

git 生成sshkey

ssh-keygen -t rsa -C "你的email地址"

查看用户名和邮箱地址:

git config user.name
git config user.email

修改用户名和邮箱地址:

git config --global user.name "username"
git config --global user.email "test@email.com"

查看远程分支

git branch -a

创建分支

git branch dev

创建并切换到分支

git branch dev

切换分支

git checkout master

还原指定文件

git checkout public/index.php

还原到上一个版本

git reset --hard HEAD^

还原到指定版本

git reset --hard 3628164

删除本地分支

git branch -d dev

查看远程仓库地址

git remote -v

修改远程仓库地址

git remote set-url origin http://192.168.100.101/john/git_test.git
git remote set-url origin git@192.168.100.101:jesse/storm.git

部分配置可以直接修改"./git/config"

vim ./git/config

一份代码推送到多仓库

git remote set-url --add origin git@10.1.1.22:project/other.git

强制用本地的代码去覆盖掉远程仓库的代码

git push -f origin master

忽略已经被提交的文件(文件夹)

git rm -r --cached README.md
git rm -r --cached vendor/

重新添加已经被忽略过的文件(夹),必须加-f(强制)参数

git add -f /vendor/laravel/

将忽略文件夹里的指定文件(文件夹)加入到版本控制

/vendor/
!/vendor/package

如果要忽略已提交到仓库的文件:

添加本地忽略文件

git update-index --assume-unchanged 忽略的文件名
或:.git/info/exclude

恢复本地忽略文件

git update-index --no-assume-unchanged  忽略的文件名

查看本地已忽略的文件

git ls-files -v | grep '^h'

查看分支从哪个分支拉取的

git reflog --date=local | grep 分支名称

本文出自 亮有一技,转载时请注明出处及相应链接。