1 设置局部密码缓存
git config user.name 'xxxx'
git config user.email 'xxxx@xxxx.com'
git config user.password 'xxxx'
git config credential.helper store
2 unset 配置项
git config --global --unset <key>
使用场景:
$ git config --list
user.name=Mukvin
user.email= ...
...
url.git://.insteadof=https://
取消配置项
git config --global --unset url.git://.insteadof
3 # HEAD detached at xxx
问题描述:git checkout到某个分支,切换后发现并没有切换到该分支,而是切到了该分支的最新节点,无论如何都回不到分支头,记录这个问题
命令:git checkout origin/分支名 结果:HEAD is now at 3691a4a5f 节点信息
解决:
1 detached HEAD state指的是什么
正常情况下,HEAD指向一个branch,而branch又指向一个commit。
detached HEAD state指的是HEAD指针没有指向任何的branch,而是指向了一个commit。
2 detached HEAD state时我能做什么
我也可以提交,这个时候,commit链就在git checkout这个commit的基础上展开,但是如果直接离开到一个branch上的话,这些commits就会被当成garbage,被git garbage collection routine所回收。但是,我们也可以保留这些commits,下面三种方式:
$ git checkout -b foo ,创建一个branch指向这个commit链,然后HEAD指向这个branch,于是HEAD就不是处于detached state。
$ git branch foo,创建一个branch指向这个commit链,但是HEAD还是处于detached state。
$ git tag foo,创建一个tag指向这个commit链,HEAD还是处于detached state。
3 为什么会出现git checkout origin/XXX远程分支的时候会让HEAD进入detached state HEAD不能指向远程分支,它只能指向本地的某个commit或者本地分支。当"git checkout 远程分支",而本地又没有这个分支,HEAD就会直接指向远程分支指向的commit了,HEAD指向commit就会进入detached HEAD state。
4 Git master branch has no upstream branch的解决
出现“git master branch has no upstream branch”问题的原因是没有将本地的分支与远程仓库的分支进行关联。
解决办法:
git push --set-upstream origin master
或者
git push -u origin master
或者
执行关联
git branch -u upstream/foo
再执行推送
git push 或者 git mr
参考:
blog.csdn.net/benben_2015…
stackoverflow.com/questions/5…