git恢复到上次提交

4个区

5种状态

  • 未修改(Origin)
  • 已修改(Modified)
  • 已暂存(Staged)
  • 已提交(Committed)
  • 已推送(Pushed)

检查修改

  1. 已修改,未暂存(检查工作区与暂存区间的差异)

    git diff
  2. 已暂存,未提交(检查暂存区与本地仓库间的差异)
    git diff --cached
  3. 已提交,未推送(检查本地仓库与远程仓库间的修改)
    git diff master origin/master
    
    ## origin/master 为远程仓库

撤销修改

  1. 已修改,未暂存(撤销工作区的修改)

    git reset --hard
  2. 已暂存,未提交(撤销暂存区的修改)
    git reset --hard
  3. 已提交,未推送(撤销本地仓库的修改)
    git reset --hard origin/master
    
    ## origin/master 为把远程仓库的代码取回并覆盖本地代码
  4. 已推送(撤销远程仓库的修改)
    git reset --hard HEAD^
    git push -f
    
    ## 此时本地仓库和远程仓库是一样的
    
    ## 1.第一步先恢复本地仓库
    
    ## 2.第二步再强制同步本地仓库到远程仓库

转载:https://blog.csdn.net/kangvcar/article/details/78809247

1.git clone 不指定分支

 git clone  http://10.1.1.11/service/tmall-service.git

2.git clone 指定分支

 git clone -b dev_jk http://10.1.1.11/service/tmall-service.git

命令中:多了一个  -b dev-jk,这个dev_jk就是分支,http://10.1.1.11/service/tmall
-service.git为源码的仓库地址

转载:https://blog.csdn.net/weixin_39800144/article/details/78205617

原文地址:https://www.cnblogs.com/windseek/p/9296773.html

时间: 2024-08-28 00:31:31

git恢复到上次提交的相关文章

git gui 还原部分提交文件

有时候用git提交文件的时候会一起提交了多个文件,但是突然后悔了,想把其中一个文件撤销提交,其他文件不做修改.这个时候该怎么办呢? 我觉得有很多办法,比如可以先checkout到上次的提交,然后复制要撤销修改的文件,然后再checkout到最新的版本,再手动复制粘贴..这样相当于手动去旧版本copy了一个文件覆盖新版本.这样做其实也不难,但是比较烦...目录多的时候找文件比较麻烦,另外要撤销的文件多的时候也比较坑爹...这个时候其实可以利用git自带的功能来完成任务的. Cherry -pick

git忽略某些文件提交

git忽略某些文件提交 在项目中有些配置文件不需要提交,但是有同学在后面开发中发现在.igonore文件中无论如何都无法忽略某些文件的提交.原因在这里: 已经维护起来的文件,即使加上了gitignore,也无济于事.---- 那么如何解决呢?方式如下 git update-index --assume-unchanged   要忽略的文件夹/文件夹下文件名 比如我要忽略项目下.idea文件夹下所有xml文件,idea下都是xml文件(我用的webstorm): git update-index

git恢复被修改的文件

恢复到最后一次提交的改动: git checkout -- + 需要恢复的文件名 但是,需要注意的是,如果该文件已经 add 到暂存队列中,上面的命令就不灵光喽 需要先让这个文件取消暂存: git reset HEAD -- + 需要取消暂存的文件名 然后再使用第一条命令. 如果感觉命令多了记不住,那就做一两个匿名呗,比如: git config --global alias.unstage 'reset HEAD --' git config --global alias.restore 'c

git创建分支并提交项目

git 创建分支, 切换分支, 合并分支, 删除分支及提交[commit提交到本地仓库push名利提交到远程服务器], 检出[pull], 冲突修改, 本地仓库同步远程服务器[pul和push命令l]操作 开发中常用操作 删除文件:git rm 文件名[删除本地git仓库文件, 提交后远程服务器上的文件才会消失] 查看状态:git status 添加记录:git add 文件名 或 git add . [将文件提交到远程git服务器上] 添加描述:git commit -m "描述或备注类似sv

win8/win7中使用Git Extensions PuTTy模式提交时 git-credential-winstore.exe": No such file or directory 错误解决方案

参考:http://www.cnblogs.com/hlizard/p/3627792.html 报错类似以下错误 \"F:/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe\" get: "F:/GitExtensions/GitCredentialWinStore/git-credential-winstore.exe": No such file or directory 解决方案

git写个脚本提交

因为是ios项目,就我自己一个人写的.git初级使用阶段,感觉敲指令太麻烦,所以尝试写个sh脚本. 内容如下: #!/bin/sh cd /Users/username/Desktop/workspace/verycloud/ios/projlsgit branchgit add -Aecho "输入您的commit文字"read $agit commit -m "shell提交:$a" echo "需要push到:b-someone-edit分支则输入y

git仓库删除所有提交历史记录

stackoverflow原问题地址:http://stackoverflow.com/questions/13716658/how-to-delete-all-commit-history-in-github 原文:http://blog.csdn.net/yc1022/article/details/56487680 经过本人测试,如果对于大型仓库,还不如删掉远程仓库重新创建来得快,以下步骤仅仅是减少了重新创建仓库的步骤 git仓库删除所有提交历史记录,成为一个干净的新仓库 1.根据当前分支

Git向开源代码提交流程

Git向开源代码提交流程: 1. 先fork到自己的repository. 2. 将自己的repository clone到本地, 3. 创建feature branch 4. 从主repository更新代码: 1) Add主repository:  git remote add upstream https://location/of/generic.git 2) 更新代码:git pull upstream master 3) 更新 push url 防止checkin 到主reposit

git忽略已经被提交的文件

git忽略已经被提交的文件 git rm --cached logs/xx.log 然后更新 .gitignore 忽略掉目标文件, 最后 git commit -m "We really don't want Git to track this anymore!" 原文地址:https://www.cnblogs.com/ydymz/p/9388879.html