学习git的记录
合并到master分支
m commits behind master , n commits ahead
m | n
先变成 m | 1
git pull
git reset --soft HEAD~n
git status
git commit -m ""
git push -f
#####再将m | 1 变为 0 | 1
git checkout master
git pull origin master
git checkout wh
git rebase master
git push -f
git 回退打破上一次分支合并的merge
1.找到上一次提交到master分支的版本号
git log --pretty=oneline
2.回退到指定版本
git reset --hard [merge前的版本号]
merge过程
当git pull时出现冲突问题时,如下:
warning: Cannot merge binary files: regionminute10_15.xlsx (HEAD vs. 03930ecfcd8a9c20eebe2d7dcd62e830455f1642)
warning: Cannot merge binary files: data3.xlsx (HEAD vs. 03930ecfcd8a9c20eebe2d7dcd62e830455f1642)
Auto-merging users3_15.py
Auto-merging regionminute10_15.xlsx
CONFLICT (content): Merge conflict in regionminute10_15.xlsx
Auto-merging data3.xlsx
CONFLICT (content): Merge conflict in data3.xlsx
Automatic merge failed; fix conflicts and then commit the result.
右下角则会出现 merging 状态,此时pull push等都不能用,只能见解决冲突或者取消merge
git merge --abort #取消merge
解决冲突过程
选择Resolve Conflicts
如图可以发现冲突的文件,如果你的版本低于服务器的版本直接Accept Theirs,如果你的是最新的版本直接accept yours,如果不确定的话点击merge,逐行代码进行更新替换。
最后结束merge
git merge --continue
git提交每次都要输入用户名和密码
问题:使用git提交到github,每次都要输入用户名和密码,操作起来很麻烦。
原因:在clone项目或上传项目的时候,使用的是https方式,而不是ssh方式,切换一下即可。
选择ssh方式,复制url
解决办法:
1.查看是https方式还是ssh方式
git remote -v
2.移除https的方式,换成ssh方式
git remote rm origin
3.添加新的git方式:ssh方式
git remote add origin git@github.com:xxxxxx.git
4.查看push方式是否修改成功
git remote -v
5.push测试是否需要用户名和密码
git push origin master
github删除一个commit(回滚到某个commit)的方法
- 获取提交的历史
git log
找到提交的commit_id
- 回滚
git reset --hard commit_id
- 提交,回滚至之前的代码
git push origin HEAD --force
I'm so cute. Please give me money.
- 本文链接:https://wentianhao.github.io/2020/01/19/git/
- 版权声明:本博客所有文章除特别声明外,均默认采用 许可协议。
若没有本文 Issue,您可以使用 Comment 模版新建。