git撤销commit到未提交状态

如何把最后一次commit撤销回Changes not staged和Untracked files区呢? 有3种情况: (1)把最后的commit切回Changes to be committed状态,使用命令: git reset --soft HEAD^ 注意:Windows系统需要在^符号后面两边加上引号,如: git reset --soft HEAD"^" (2)把最后的commit切回Changes not staged for commit状态,使用命令: gi…

git配置多个SSH Key

当有多个git账号时,比如: 一个github,国际认可的仓库 一个gitee码云,国内仓库,速度快 这两者如果邮箱不同的话,在生成第二个key的时候会覆盖第一个的key,导致一个用不了。 解决办法就是: 生成两个(或多个)不同的公私密钥对,用config文件管理它们。 1 步骤 我们假设原来在~/.ssh目录下已经生成了一个密钥对: id_rsa id_rsa.p…

git代码不变,删除所有commit记录

把旧项目提交到Git服务器上,会有很多以前的commit记录。 由于各种各样的原因,不希望在新的Git服务器上显示这些commit信息。 那如何删除这些commit记录,形成一个全新的仓库,并且保持代码不变呢? 1.Checkout git checkout --orphan latest_branch 2. Add all the files git add -A 3. Commit the changes git commit -am "commit mes…

github贡献代码步骤

Github 是一个家喻户晓的代码托管平台,对于大部分编程爱好者,下载项目源码和备份项目源码应该是最常用的功能。 今天我们来介绍另一个重要的使用场景:贡献代码。 以 swoole 为例,步骤如下。 1 Fork 项目 首先需要 fork 这个项目,进入项目页面,点击右上角的Fork按钮。 然后,你的 github 仓库中会多了 swoole/swoole-src 项目。 在…

Git打包文件

Git中打包文件是个简单的活,不管是打包全部文件作为release, 还是只压缩更改的文件,一个命令就能搞定。 而且,打包之后目录结构完全不变,这对于覆盖部署来说极其方便。 1 打包所有文件 打包master分支的所有文件: $ git archive --format=zip --output master.zip master 其中,输出格式为zip,输出文件为master.zip。git支持zip和…

git撤销commit的三个方法

撤销commit有很多方法,个人比较推荐用 reset 或 rebase -i,底下将会同时介绍 revert 和 reset 的方法。 commit 如下 A -> B -> C -> D -> E 想要还原到 commit C 之后的状态 (也就是把 D 和 E 回退) 1 revert 用: git revert E git revert D 结果: A -> B -> C -> D -> E -> F -> G F 是还原 commit …

git中merge和rebase的区别

最开始实习的时候是使用svn,之后正式工作就一直在使用git,这样算起来,使用git也有两年的时间了。以前带我的同事,让我在拉代码的时候要我使用git pull --rebase,一直很纳闷为什么要那样做,后来遇到拉代码的时候有许多冲突要解决,然后去查找资料,才了解到其中的一些事情。今天分享一下,顺便自己也梳理一下。 git pull git pull …

gitignore忽略已提交的目录或者文件

项目的根目录放了 .gitignore 文件,并且git远程仓库的项目根目录已经有了 logs 文件夹。 由于每次本地运行项目,都会生成新的log文件,但是我并不想提交logs文件夹里面的内容,所以要在 .gitignore 写logs的规则。 我尝试过添加以下规则 logs/*.log logs/ /logs/ 但是运行git status的时候,始终能看到modified:logs/xx.log 。 解决办…

git常用命令列表

1 常用 $ git remote add origin git@github.com:yeszao/dofiler.git # 配置远程git版本库 $ git pull origin master # 下载代码及快速合并 $ git push origin master # 上传代码及快速合并 $ git fetch origin # 从远程库获取代码 $ git branch # 显示所有分支 $ git checkout master # 切换到master分支 $ git checkout -b dev # 创…