赞
踩
很高兴在雪易的CSDN遇见你 ,给你糖糖
欢迎大家加入雪易社区-CSDN社区云
本文分享在实际应用中Git技术,希望对各位小伙伴有所帮助!
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的点赞就是我的动力(^U^)ノ~YO
目录
上传Git时,用户名填写错误,Clone的时候,出现Incorrect username or password (access token)错误。再次克隆时,又不会弹出之前用户名密码输入界面。
解决方案:
win10打开“设置”,搜索“凭据管理器”,弹出凭据管理器界面。
找到我们需要的Git库的凭据
点击“编辑”,输入正确的用户名密码,点击“确定”。
就可以正常的克隆,推送。
日常操作流程
本地工作区(尚未暂存) ---> add . 到暂存区 ---> commit 到本地仓库 ---> pull拉取关联远程仓库分支合并到本地的分支---> push 到远程分支
- git log #查看commitId的log
- git show #查看最新的commit
- git show commitId #查看指定commit c440aa10ac的所有修改:
修改的文件已被git commit,再次修改的文件,合并到上一次提交的commit中,不再产生新的Commit
- # 修改最后一次提交
- git add sample.txt #修改文件添加到暂存区
- git commit --amend -m"说明" #合并提交到上一次的commit里
- git commit --amend #或者 进入到编辑里编写提交注释
git commit --amend
当修改文件后,还没有add提交到暂存区,也没有commit时,想要放弃修改
- git checkout 11.txt #放弃11.txt文件的修改
- git checkout . # 放弃所有文件的修改
git checkout – . 丢弃全部,也包括:新增的文件会被删除、删除的文件会恢复回来、修改的文件会回去。这几个前提都说的是,回到暂存区之前的样子。对之前保存在暂存区里的代码不会有任何影响。对commit提交到本地分支的代码就更没影响了。当然,如果你之前压根都没有暂存或commit,那就是回到你上次pull下来的样子了。
当文件add提交到暂存区,还没有commit时,发现文件提交错了,这时想撤回文件
- git reset HEAD a.php #只撤消a.php
- git reset HEAD * #撤消所有
这个命令仅改变暂存区,并不改变工作区,这意味着在无任何其他操作的情况下,工作区中的实际文件同该命令运行之前无任何变化
当文件add提交到暂存区,也commit了,发现文件提交错了,这时想撤回文件
- git reset HEAD^ # 撤消上一次的commit 不带参数默认是--mixed 例:git reset --mixed HEAD^ 也可以写成git reset HEAD~1
- git reset HEAD~2 如果你进行了2次commit,想都撤回,可以使用HEAD~2
- git reset fdaeaf208f0e142ceba5766d17786d60fcebc1dd #撤消指定的commitId
- git reset --hard fdaeaf208f0e1 # 回退到指定版本 放弃工作区的所有修改,还原到指定版本的代码
reset三种模式区别
- --soft:不删除工作空间改动代码,撤销commit,不撤销git add .操作,重置位置的同时,保留working Tree工作目录和index暂存区的内容,只让repository中的内容和 reset 目标节点保持一致,因此原节点和reset节点之间的【差异变更集】会放入index暂存区中(Staged files)。所以效果看起来就是工作目录的内容不变,暂存区原有的内容也不变,只是原节点和Reset节点之间的所有差异都会放到暂存区中。
- --mixed(默认):不删除工作空间改动代码,撤销commit,并且撤销git add . 操作,重置位置的同时,只保留Working Tree工作目录的內容,但会将 Index暂存区 和 Repository 中的內容更改和reset目标节点一致,因此原节点和Reset节点之间的【差异变更集】会放入Working Tree工作目录中。所以效果看起来就是原节点和Reset节点之间的所有差异都会放到工作目录中。
- --hard:删除工作空间改动代码,撤销commit,撤销git add . 操作,重置位置的同时,直接将 working Tree工作目录、 index 暂存区及 repository 都重置成目标Reset节点的內容,所以效果看起来等同于清空暂存区和工作区。
- 注意完成这个操作后,就恢复到了指定版本的commit状态。
如果代码之前已经push到远程仓库里,想要撤消线上的push
步骤:先回退本地版本,再强推到远程仓库里,有两种方法
方法:
区别:
reset(回滚到)
- git reset --hard fdaeaf208f0e1 # 回退到指定版本 放弃工作区的所有修改,还原到指定版本的代码
- git push 目标分支 本地分支 -f
此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧,要加-f参数强制推送
- #git push 目标分支 本地分支 -f
- git push origin master -f
revert(重做)
参考下面的文档:
https://www.cnblogs.com/birdy-silhouette/p/13958151.html
Git:如何撤销已经提交的代码 - HaimaBlog - 博客园 (cnblogs.com)
感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步!
你的赞赏是我的最最最最大的动力(^U^)ノ~YO
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。