Git相关用法(二)

之前一篇笔记Git相关用法(一)提到了一些常用的git命令,里面提到了git reset这个命令。 git reset我主要用在本地回滚,上一篇笔记Git相关用法(一)里面提到git reset <commit-id>可以回退到你想要的那个版本,但这样的话,你本地的文件并没有回退。 git reset --hard <commit-id>这个命令加上--hard这个参数,表示缓存区和工作目录都回退到这个版本。 还有一个git revert命令,也有回滚的作用。 下面就来说一下git revert这个命令的用法。 比如说我现在的提交历史如下图所示: 现在我要revert B这次commit,我需要用的命令是git revert 1235 再看提交历史,结果如下图所示。可以看到多出了一个D点,这个点是对B的revert。 注意,revert的时候可能会产生一些冲突,当发生冲突的时候,你需要解决冲突。 git revert会在提交历史里面留下痕迹,git reset不会在提交历史里面留下痕迹。相对而言,我用git…

Git相关用法(一)

之前我写过一篇Git Submodule的笔记。这期间我隔了很久没有使用git,现在捡起来,发现都生疏了,所以还是在这里对常用的几个命令做个整理。 最基本的几个个命令: git clone username@host:/path/to/repository 检出远端服务器上的仓库 git add 将文件提交到暂存区 git commit 修改你本地的HEAD git push (远程仓库名) (分支名) 将本地的改动提交到远程仓库 比如说你要提交到远端的master分支:git push origin master。其实这个命令的意思是把本地的master分支提交到远程的master分支,也就是git push origin refs/heads/master:refs/heads/master,一般都会省略refs/heads,变成git push origin master:master,如果你想提交到不同名的远程分支dev,那么可以这样:…

Git submodule的用法

如果你的代码有依赖于某些第三方组件,而这些第三方组件又是常用的,例如模板、邮件、office等,建议把这些组件放到git的submodule里面,组件单独形成一个repo。 正好最近有用到Git Submodule,下面整理一下它的相关用法。 举个例子,假如说submodule所在的repo地址为https://yourcustomsite.com/test/mysubmodule 添加子模块 那么可以用以下命令把子模块加入到其中 git submodule add https://yourcustomsite.com/test/mysubmodule 这个命令执行完成之后,就会在你的项目里新增了mysubmodule文件夹和.gitmodules文件。 默认情况下,子模块的目录是与仓库同名的。如果想要指定别的目录名字othername,那么可以这样: git submodule add https://yourcustomsite.com/test/mysubmodule othername 一般情况下是成功的,有时候可能不成功是因为系统会提示你是否确认要更改子模块目录名,或者当前目录已经有同名子模块了 ,这个你可以你自己斟酌,可以加上--force强制或者--name 设置目录名 git submodule…