git命令

git push -u origin master时出现Username for ‘https://github.com‘:

1、在执行完git remote add origin https://github.com/xx/xxx.gitgit push -u origin master,出现“Username for ‘https://github.com’:”这个提示,如果输入用户名(非邮箱)和密码,会出现remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
2、在GitHub的Settings->Developer settings->Personal access tokens中创建一个token,出现“Username for ‘https://github.com’:”时输入用户名(如果用户名写成邮箱,可能会导致之后存储在钥匙串中时账户名称是邮箱,可能会导致之后“pod lib create xx”生成的文件将邮箱作为用户名),接着输入token作为password。
3、如果token过期,则在GitHub选中这个token然后regenerate,然后在终端执行“git push”就会要求重新输入Username和Password。

回退到某次提交

1、如果要撤销的提交记录是commit2,这个提交的前一个提交是commit1,则执行git reset --soft commit1的id,会回退到commit1,而commit1之后的修改都保留但未提交。
2、git push origin master --force,push之后远程的最新提交只到commit1,这个之后的提交都没有了。

修改某次提交的作者信息

1、如果要修改的提交是commit2,这个提交的上一个提交是commit1,则在终端执行git rebase -i commit1的id,然后会自动用vim打开一个文件,显示的是pick commit2的id commit2的提交描述(还有commit2之后的提交),输入i进入编辑模式,将pick改为edit(可以改多个提交的,但是记得每次操作完一个之后都先执行continue再操作下一个,详情看之后的步骤。),修改之后输入:wq保持退出。
2、执行git log查看当前HEAD,就是要修改的提交。
3、执行git commit --amend --author="abc <de@fg.com>"修改提交的作者信息,然后会自动用vim打开一个文件显示提交的描述,可以输入:q直接退出。(git log会发现commitid变了。)
4、执行git rebase --continue结束修改(如果之前pick改edit时改了多个提交,则continue会进入下一个提交的修改)。
5、如果此时查看状态,会发现本地超前几个commit又滞后了几个commit,执行git push origin master --force之后覆盖远程仓库(远程的commitid变成修改后的commitid)。【但是对于已经clone在本地的其他用户,这个用户执行git status时没有显示要更新,执行git pull还会出现一个“Merge branch ‘master’ of https://github.com/xxx”的提交commit3(此时可以执行“git reset --hard commit3的前一个提交的id(即远程最新commitid)”回退到和远程一致)。最好还是不要在多人合作仓库中用这个方法修改作者信息。】【这个修改方法会对commit2后面的所有提交都重新提交,提交的时间是当前,commitid不是原来的。而且不会删除tag,所以tag之前的提交信息还是原来的,需要删除远程和本地tag才会显示更改后的提交信息。所以,不推荐使用这个方法修改作者信息。】

tag

1、获取本地tag:git tag
2、获取远程tag:git ls-remote --tag origin
3、删除本地tag:git tag -d tag名称比如0.0.1
4、删除远程tag:git push origin :refs/tags/0.0.1(如果仅删除远程tag,则git pull时并不会删除本地tag,需要手动删除。)

误删文件的一种恢复方法

1、不小心删除了文件,又从别的地方复制回去的时候,git status中这个文件会有删除的记录和添加的记录,如果想恢复到和远程一致,可以执行git reset --hard 远程最新commitid,本地添加的Untracked的文件会保留。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值