git 操作方法笔记
git 操作方法笔记
自动补全
git --version
下载对应版本的文件:
https://raw.githubusercontent.com/git/git/v2.22.0/contrib/completion/git-completion.bash
如果你用的是 Bash shell,可以试试看 Git 提供的自动补全脚本。下载 Git 的源代码,进入 contrib/completion 目录,会看到一个 git-completion.bash 文件。将此文件复制到你自己的用户主目录中(译注:按照下面的示例,还应改名加上点:cp git-completion.bash ~/.git-completion.bash),并把下面一行内容添加到你的 .bashrc 文件中:
source ~/.git-completion.bash保存账号密码
git config --global credential.helper store
忽略本地文件权限修改
git config core.fileMode false
tag标签
git tag xxxx [-m xxxxx]
git show xxxx
git push origin xxxx
推送本地所有标签到远程仓库
git push origin [--tags]
删除本地仓库中的文件
git rm与git rm --cached
当我们需要删除暂存区或分支上的文件, 同时工作区也不需要这个文件了, 可以使用
1 git rm file_path
2 git commit -m 'delete somefile'
3 git push
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
git rm --cached file_path
git commit -m 'delete remote somefile'
git push
本地修改不提交到远程仓库
git update-index --assume-unchanged index.jsp
取消本地忽略
git update-index --no-assume-unchanged index.jsp
查看本地仓库哪些文件被加入忽略列表
恢复跟踪
git update-index --no-assume-unchanged sp_edaijia/protected/controllers/ApiController.php //恢复跟踪
#或者
git update-index --skip-worktree xx.php
git update-index --no-skip-worktree xx.php如果不生效,查看是不是已经被add到暂存区,是的话需要移除暂存区再次执行以上忽略命令
如果忽略的文件多了,可以使用以下命令查看忽略列表
git ls-files -v | grep '^h\ '
#查看当前标记状态:
# Windows
git ls-files -v | findstr index.jsp
# Linux/macOS
git ls-files -v | grep index.jsp
#输出以 h 开头:assume-unchanged 生效
#输出以 S 开头:skip-worktree 生效提取文件路径,方法如下
git ls-files -v | grep '^h\ ' | awk '{print $2}'所有被忽略的文件,取消忽略的方法,如下
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged 查找历史代码片段
git log -G 正则 -p
git log -s 文件名