git笔记

设置环境变量GIT_CURL_VERBOSE=1可以让git指令输出详细信息

删除多余空格

git rebase HEAD~ --whitespace=fix

设置代理

git config --global http.proxy ****
git config --global https.proxy ****
git config --global --unset https.proxy  取消代理

设置用户

git config --global user.name "****"
git config --global user.password "*****"
git config --unset user.password  重置密码

检查历史版本

特定文件的变动历史  git log -p file_path
查看特定commit时点文件内容   git show REVISION:path/to/file

本地分支与远程分支

建立关联 git branch -u [remote_branch] [local_branch] 其中-u是--set-upstream-to的缩写
取消关联 git branch --unset-upstream
拉取远程代码  git pull :  可以省略分支,这样自动更新本地追踪的远程分支
向gerrit推送更新   git push [repo name] HEAD:refs/for/[branch name]
        例如git push origin HEAD:refs/for/next 将本地HEAD所在分支推送到origin端的next分支,注意其中的refs/for是必须的,如果省略git会默认解析成refs/head,而对gerrit来说推送到refs/head/***意味着不经过审核直接提交。
        “origin” 是运行 git clone 时默认的远程仓库名字。 如果运行 git clone -o booyah,那么默认的远程分支名字将会是 booyah/master。
        如果省略HEAD:部分,则自动选择本地同名分支进行推送
将远程分支同步到本地  git remote update origin --prune

使用gvim提交

git config --global core.editor "gvim -f"

递归忽略文件

在.gitignore中用"**"可以代表任意路径,例如"**/*.swp"可以忽略工程根目录和任意子目录下的swp后缀文件。

彩色信息

git config --global color.ui true

git push免密码

如果远程仓库是git url,需要用ssh key。如果远程仓库是http url,在用户主目录创建.git-credentials,写入
https://{username}:{password}@{仓库网址}
然后执行git config --global credential.helper store

你可能感兴趣的:(git笔记)