
版本控制---git
文章平均质量分 55
辛星
生命不息,奋斗不止。
展开
-
辛星浅析git中的版本回退
首先需要说的就是commit id,它和svn不同,git的commit id不是1,2,3...这种递增的数字,而是一个SHA1计算出来的一个非常大的数字,它用十六进制来表示,因为git是分布式的版本控制系统,所以就只能用这种方式了。 在git中,我们用HEAD表示当前版本,上一个版本就是HEAD^,上上个版本就是HEAD^^,如果我们前100个版本就是HEAD后面跟100个^原创 2015-04-19 18:03:46 · 890 阅读 · 6 评论 -
git回滚到上一版本速查
测试不充分就进行了一次上线,要回滚的话,如下:git reset --hard HEAD~1 //回滚到上一版本原创 2016-08-31 10:19:09 · 1065 阅读 · 0 评论 -
关于git中tag的一些问题
列出标签git tag # 在控制台打印出当前仓库的所有标签打标签git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用.附注标签则是仓库中的一个独立对象。# 创建轻量标签git tag 版本名# 创建附注标签git tag -a 版本号 -m 版本说明创建轻量标签不需要传递参数,直接指定标签名称即可。参原创 2015-11-19 18:33:50 · 697 阅读 · 1 评论 -
辛星浅析git init中的--bare选项,也就是裸仓库
通常如果一个仓库作为远程仓库使用的时候,我们初始化的时候通常是git init --bare,首先解释一下这个bare,它翻译成汉语即"裸的",他之会生成一类文件,用于记录版本库历史记录的.git目录下面的文件,而不会包含实际项目源文件的拷贝,因此该版本库不能称为工作目录(working tree)。 当不使用--bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本原创 2015-05-06 03:01:48 · 3944 阅读 · 1 评论 -
辛星浅析git中查看某个文件的历史
有时候我们在比对代码的时候,会看到一些改动,但是不清楚这个改动的具体内容的话,我们通常可以通过如下步骤来执行: (1)使用git log来查看某个文件的变化,需要注意的是这里我们只关注某个文件的变化,而不是整个git库,否则就无从看起了。 我们在git log后面接文件名即可,范例如下:root@ubuntu:/root/xin# git log --pretty原创 2015-05-01 07:34:54 · 1125 阅读 · 3 评论 -
辛星浅析git reset和git revert
很多时候,我们有了误操作,这个时候就需要回退功能的出现,我们可以使用git reset和git revert这两个功能。 git reset是指将当前head的内容重置,不会留任何痕迹。比如git reset --hard HEAD~3会将最新的3次提交全部重置,就好像没有提交过一样。而--soft和--mixed、--hard会分别重置working tree和in原创 2015-05-01 03:31:49 · 1059 阅读 · 0 评论 -
git push被拒绝的处理方式
有时候我们使用git push向远程仓库推送的时候,会报错如下:[remote rejected] master -> master (branch is currently checked out)remote: error: refusing to update checked out branch: refs/heads/masterremote: error: By defaul原创 2015-05-03 21:14:53 · 25133 阅读 · 2 评论 -
辛星浅析git中的submodule
有时候,我们需要将一些通用的部分抽取出来做成一个公共库,它可以给别的工程使用,而公共代码库的版本管理是比较麻烦的。我们可以使用git中的submodule来做到这一点。 1.添加 为当前工程添加submodule,命令格式是:git submodule add 仓库地址 路径 在添加完成后,在当前工程路径下会生成一个名为".gitmo原创 2015-05-03 22:11:56 · 981 阅读 · 5 评论 -
git版本回退的一个问题
有时候我们想在本地修改远程已经提交的某个历史,如果我们在本地修改之后,然后push会有问题,比如说我们先看一下现在的状态: $ git statusOn branch devYour branch is behind 'origin/dev' by 1 commit, and can be fast-forwarded. (use "git pull" to update your原创 2015-04-30 23:56:44 · 1610 阅读 · 1 评论 -
辛星浅析修改git中的默认编辑器
有时候,git使用的默认编辑器不是我们想要的编辑器,比如说我们在git commit没有指定-m参数的时候自动进入的编辑器界面。 此时我们在.gitconfig的[core]段中加上editor=vim会变成vim编辑器。原创 2015-05-09 16:19:46 · 907 阅读 · 0 评论 -
辛星整理git中的tag
标签可以针对某一时间点的版本做标记,常用于版本发布。 1.列出标签。 使用git tag可以在控制台中打印出当前仓库的所有标签。 使用git tag -l 通配符 可以搜索出符合当前模式的标签。 2.打标签。 通常标签可以分为:①轻量级标签。②附注标签。③签署标签。 轻量级标签是指向提交对象的引用。附注标签则是仓库中的一原创 2015-05-09 15:53:51 · 727 阅读 · 2 评论 -
辛星浅析git blame的使用
git blame可以显示该文件的修改、以及作者上次修改文件的内容。他不会告诉我们文件中被删除以及被替换的内容,要详细的知道,我们还需要配合git diff的使用。 下面是我们在git中创建了一个aa文件,然后是三次commit提交,以及只属于工作目录的修改。 我们用git blame来查看一下效果: $git blame aa ^2cae297 (xin原创 2015-05-09 16:42:51 · 6466 阅读 · 7 评论 -
辛星浅析git中的代码撤销与回退
1.回退到最近一次提交的状态使用 git reset --hard HEAD命令,这里的--hard表示删除自从该次提交后所有的修改记录,未跟踪的文件除外,如果需要保留目前的修改,则执行git reset --soft HEAD。 2.回退代码到某次指定的提交状态,我们使用git reset --hard 命令,这里的hashcode是该次提交的哈希码。原创 2015-04-17 21:47:49 · 819 阅读 · 1 评论 -
辛星浅析git push中的一些问题
我们首先看一下git push的基本用法: git push origin test:master //提交本地test分支作为远程的master分支 git push origin test:test //提交本地test分支作为远程的test分支 git push origin :test //删除远程原创 2015-04-19 17:14:54 · 995 阅读 · 3 评论 -
在git首次提交时出错以及解决方式
[root@iZ948ycksu4Z git]# git pushroot@127.0.0.1's password:No refs in common and none specified; doing nothing.Perhaps you should specify a branch such as 'master'.fatal: The remote end hung up un原创 2016-11-15 16:39:13 · 5947 阅读 · 2 评论