首先输入下面这条命令,然后再pull一下录入用户账号和密码,下次就会记录下来不用在再次输入
git config --global credential.helper store
不出现上面情况的方法
1、git pull时可以加上--rebase参数, 使之不产生Merge点, 保证了代码的整洁, 即:
$ git pull --rebese
or
$ git pull -r
2、每次都加--rebase似乎有些麻烦,我们可以指定某个分支在执行git pull时默认采用rebase方式
$ git config branch.dev.rebase true
* 如果出现的解决方法
1,点击 “i” 键,进行编辑
2,让后点击 Esc
3, 然后输入 “: wq ” 回车就解决了
HEAD^ 表示最近一次提交,也可以写成 HEAD~1, 当然HEAD~2就是最近两次的提交
撤销add
git reset HEAD
git restore --staged
撤销commit
git reset --soft HEAD^
git reset --mixed HEAD^
撤销add和commit
git reset --hard HEAD^ // 会删除你之前的操作 慎重使用
如果只想修改 commit 注释,可用这个命令,就会进入vim编辑器,修改玩保存即可
git commit --amend
git reset --hard 版本号
git reset --soft 版本号
git reset –-soft
:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可git reset -–hard
:彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉我们可以使用简单命令 HEAD~1 退回当前上一个commit ,~2,~3 退回2 ,3个版本
git reset --hard HEAD~2
git reset --soft HEAD~3
git branch xxx // 新建分支
git checkout xxx // 切换分支
也可以这样
git checkout -b xxx // 新建分支并切换到新建分支上
master合并其他的分支
// 先切换到master分支上
git merge xxx // 合并分支
// 删除本地分支
git branch -d xxx
// 删除远程分支
git push origin -d xxxx
已有分支 a,b ,从a分支拷贝b分支的数据
git cherry-pick
注意: 这里拷贝多个时候的 需要按顺序时间顺序,时间从远(之前)到近(现在)
git cherry-pick
git branch -m name newName
当我们提交代码 git commit -m "内容编辑错误" 或者 在push前,又有一个小问题修改不想再写一个commit -m 的时候, 可以使用 git commit --amend 去覆盖最新的一条记录
上面这个例子,当这个时候,我们的描述不够明确,需要重新命名,或者有做了一个小改动,我们可以用 git commit --amend
这个时候我们就修改了,可以提交了
在我们开发项目的时候,经常会遇到做一个功能提交之后,发现有个小地方没改或者自己的测试案例没有去掉,这个时候就要重新提交一次,也就是说一个功能提交了 2,3个commit,这个时候,我们的日志上或者领导看我们的记录的时候,就会发现很乱很杂,这个时候我们就要用的合并commit
我们合并这两个commit
git rebase -i HEAD~2
然后会出现这样的编辑窗口
然后我们选择按下 i键编辑 ,用 s 来压缩commit记录。 然后 :wq 回车退出,注意这里要用英文的 : 号 ,不然 你需要 重新 按下 i ,然后编辑在 :wq 退出
然后会进到编辑 commit 内容页面,就是需要你把俩个commit编辑的信息,写成一个
还是一样的操作,按下 i 编辑 , 留下一个 注释信息可以 ,然后 :wq 退出
然后就好了
还是合并这俩个commit
其中流程是 用git reset --soft参数只告诉Git将其他的commit重置到HEAD,期间所有提交的代码都会保留,然后我们在重新提交一下,就可以了
实例:
首先 我们用 git reflog 查看操作记录,刚刚我们 git rebase 合并分支合并错了 我们想要退回这个操作
我们直接 git reset