git常用方法

查看当前状态
git status
出现错误 The following untracked working tree files would be overwritten by merge
git fetch --all
git reset --hard origin/master
linux记住密码
Linux 用户可以使用 ‘cache’ 认证助手包来缓存认证信息,运行下面的命令来启用凭据缓存,启用后每次输入密码将保存一小时(3600秒):
git config --global credential.helper 'cache --timeout 3600'
下面的命令可以查看 ‘cache’ 认证助手的所有配置:
git help credential-cache

除了这些方法之外,还有一种使用 .netrc 文件的方式
windows记住密码
#在c:/users/用户名/.gitconfig文件加入
[credential] helper = store
修改远程仓库url
#查看远程仓库
git remote -v
#更新远程仓库url
git remote set-url origin https://coding.net/your-git-url
更新指定文件夹或文件

先fetch远程仓库

git fetch -all

再指定更新本地(origin/master为分支)

git checkout origin/master app/src/
合并分支

查看当前分支

git status

检出dev分支

git fetch origin dev

合并dev分支

git merge origin/dev
忽略文件/文件夹
git update-index --assume-unchanged 路径
解除忽略
git update-index --no-assume-unchanged 路径
删除分支
git brance -d 分支名
查看最近一次提交所有更改的细节
git log -n -p 1
查看某文件的所有历史版本
git log --follow -p 文件路径
强制回滚某版本
git reset --hard 版本hash
当前分支导出zip包
git archive --format zip --output "./output.zip" master -v
取消本地修改的文件

取消修改指定文件

git checkout -- 要取消修改的文件路径

取消修改所有文件

git checkout .
取消本地新增的文件

取消所有新增文件

git clean -xdf
撤掉 git add && git commit
git reset commit_id

git reset --soft HEAD^
post-receive 钩子自动部署
DIR=/home/php/www/my-project
git --git-dir=$DIR/.git pull
查看已缓存的文件
git ls-files --stage .gitmodules
删除已缓存的文件
 git rm --cached .gitmodules
查看并设置大小写
git config --get core.ignorecase

取消忽略大小写,即开启大小写敏感

git config core.ignorecase false
不产生orig文件

.orig为冲突合并的备份文件,默认的情况下会随着冲突的产生而生成,里面记录文件冲突的信息。
但是它并不是解决冲突使用的文件,所以每次解决完冲突后,还是需要手动删除的。这样就有点不方便的。
主要是以使用git mergetool合并分支时,会产生以
.orig为扩展名的备份文件
实际上可以修改Git配置,禁止产生备份文件。
打开控制台(或终端)执行如下命令:

git config --global mergetool.keepBackup false

执行完成再次处理冲突就发现没有产生备份文件了

git config core.fileMode false

忽略文件权限的改动