git切换分支遇到的小问题:
能在IDEA编辑器右下角的git分支显示里面看到一个新的分支,但是不能切换到;
各种pull更新操作都不管用,(后来想到可能是用了自己以前的git账户,只有几个分支某一次被管理员给了权限,其他的分支没有权限)
是因为换电脑之后修改过git账户,用了一个以前自己的个人账户,被管理员临时给了当前修改的一些分支的权限,这个账户和凭据没有其他权限,比如新建的分支,切换git用户:
1.git bash here 打开git命令窗口
查看当前用户名:
git config user.name
切换邮箱:
git config --global user.email "xxx"
切换用户:
git config --global user.name "xxx"
(有没有切换不成功的情况?)
有,当没有权限的账户一有凭据,需要的、有权限的账户二没有凭据的情况下:
虽然git更新拉取项目时一切正常,本地拉取信息也正常,但是远程gitHub上依然是旧账户的信息,并且仍然没有想要切换所有分支的权限。
2.在凭据里面操作:
(1)手动在控制面板里添加需要的一条凭据,删除其他不需要的凭据,输入需要登录的邮箱和密码,在每次git操作中不会屡次需要求输入身份验证信息:
git操作时第一次可能会问是谁,问一次之后再也不会问。
(2)可以全部删除之后在git命令窗口里通过:
创建过程中,第一次问你是谁?
git config --global user.email "11@qq.com"
git config --global user.name "xiaozhang"
windows的凭据会一次生成,普通凭据自动生成,就成功切换到了需要的有权限的账户。
一次生成之后,git只能每次取出来用,即使出错也没有什么办法,不过可以手动修改,开启windows凭据的方法是运行:
git config --global credential.helper wincred
更换git账号登录,并下载带有.git隐藏文件的项目:
git clone 与 download zip 的区别:
git clone 下载的项目有.git 隐藏文件(PS:若没有,可能是没有设置隐藏文件显示)
download zip 只是下载了当前分支的最新版本
控制面板 => 用户账户 => 管理windows凭据 => windows普通凭据 => 编辑修改、删除凭据
git切换分支的一些操作:
查看当前用户名:
git config user.name
查看当前邮箱:
git config user.email
查看本地分支:
git branch
查看所有分支:
git branch -a
PS:若能看到但是git branch -r(查看远程分支)无法获取远程分支,git fetch从远程分支拉取代码,可以 手动更新 一下分支(因为-a并没有每一次都从远程更新仓库):
git fetch origin (更新)
查看分支不存在想切换的新分支,也可以:
git pull (更新)
但是git pull会将代码直接合并,造成冲突等无法知道,fetch代码下来要git diff orgin/xx来看一下差异然后再合
git pull origin master 更新分支
切换分支:(pull之后进行切换操作,IDEA里面也能操作)
git checkout -b login-home-zj origin/login-home-zj
1.当git push操作失败,出现 error:failed to push some refs to ‘http:sdgvbjad’ 信息,可能是由于本地分支落后于线上分支,所以还是要记住,push之前一定先pull
如果git push错误信息,想要退回版本,可以通过:
git log 查日志
git revert b456fgs4b34gs3b
git revert 是用一次新的commit来回滚之前的commit,
2.只在本地commit,但是还没有push,也可以退回,通过
git log 必须查看历史版本
git reset --hard gbf5s4b22s2bbs2b