git引用^和~的区别

这篇git文章必转:解答我一直的疑惑http://www.cnblogs.com/hutaoer/archive/2013/05/14/3078191.html 一.引子在git操作中,我们可以使用checkout命令检出某个状态下文件,也可以使用reset命令重置到某个状态,这里所说的“某个状态”其实对应的就是一个提交(commit).我们可以把一个git仓库想象成一棵树,每个commit就是树上的一个节点。家家都有一本自己的祖谱。祖谱记录了一个家族的生命史,它不仅记录着该家族的来源、迁徙的轨迹,还包罗了该家族生息、繁衍、婚姻、文化、族规、家约等历史文化的全过程。类似的,每个git仓库都有一本自己的祖谱,仓库中commitID的繁衍,HEAD指针的迁徙,分支的增加、更新,同样的记录着一个仓库从无到有的点点滴滴。在git中,我们其实可以通过^和~来定位某个具体的commit,而不用每次都去敲繁琐的hash值。为了便于大家理解,先把结论放在前面:“^”代表父提交,当一个提交有多个父提交时,可以通过在”^”后面跟上一个数字,表示第几个父提交,”^”相当于”^1”.~<n&g...
代码星球 代码星球·2021-02-25

Git log高级用法

首先,这篇文章会展示几种gitlog格式化输出的例子。大多数例子只是通过标记向gitlog请求或多或少的信息。如果你不喜欢默认的gitlog格式,你可以用gitconfig的别名功能来给你想要的格式创建一个快捷方式。Oneline--oneline标记把每一个提交压缩到了一行中。它默认只显示提交ID和提交信息的第一行。gitlog--oneline的输出一般是这样的:0e25143Mergebranch'feature'ad8621aFixabuginthefeature16b36c6Addanewfeature23ad9adAddtheinitialcodebase它对于获得项目的总体情况很有帮助。Decorate很多时候,知道每个提交关联的分支或者标签很有用。--decorate标记让gitlog显示指向这个提交的所有引用(比如说分支、标签等)。这可以和另一个配置项一起使用。比如,执行gitlog--oneline--decorate 会将提交历史格式化成这样:0e25143(HEAD,master)Mergebranch'feature'ad8621a(feature)...
代码星球 代码星球·2021-02-25

git ignore

今天提交一个APK应用程序到bitbucket,程序跑成功之后,就把所有代码push到远端。后面调试修改的时候发现很多代码其实不并不需要同步,比如:bin文件夹,obj文件夹,.o的文件等。所以考虑忽略掉一些文件,不让git对这些文件进行同步,所以用到啦.gitignore文件。具体操作步骤如下:1.进入到project根目录下面:vim.gitignore文件,编辑文件内同如下:   #ignoredirectorys#bin/jni/armeabi-v7a/libs/armeabi-v7a/obj/gen/#ignorefiles#*.o.gitignore~ 2.用eclipse重新build工程,用gitstatus查看,发现bin等文件夹仍然能看到,能够同步到变化。是以前commit过影响到的。3. gitrm-rbin/然后commit修改,然后重新build工程,再用gitstatus查看,就能发现忽略成功,其他文件夹和文件同理。 ...
代码星球 代码星球·2021-02-25

git diff old mode 100755 new mode 100644

 在linux下载了Qt的软件仓库,拷贝了一份到windows下。在msysgit下,发现所有的文件都被修改了。用gitdiff查看,发现是:$gitdiffutil/webkit/mkdist-webkitdiff--gita/util/webkit/mkdist-webkitb/util/webkit/mkdist-webkitoldmode100755newmode100644原来是msysgit在windows下需要为文件"仿造"访问权限。由于种种限制,信息不能复原,从而导致原来的755成644了。解决方法:gitconfig--globalcore.filemodefalsegitconfigcore.filemodefalse...
代码星球 代码星球·2021-02-25

git revert 和 git reset的区别

gitrevert-nindex gitrevert和gitreset的区别 1.gitrevert是用一次新的commit来回滚之前的commit,gitreset是直接删除指定的commit。 2.在回滚这一操作上看,效果差不多。但是在日后继续merge以前的老版本时有区别。因为gitrevert是用一次逆向的commit“中和”之前的提交,因此日后合并老的branch时,导致这部分改变不会再次出现,但是gitreset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入。 3.gitreset是把HEAD向后移动了一下,而gitrevert是HEAD继续前进,只是新的commit的内容和要revert的内容正好相反,能够抵消要被revert的内容。...
代码星球 代码星球·2021-02-24

git命令总结

1.错误提示:ItseemsthatIcannotcreatearebase-applydirectory,andIwonderifyouareinthemiddleofpatchapplicationoranotherrebase.2.gitcherry-picks807x把s807x这个一个点拉倒当前分支。3.gitpush--force强制4.a:gitreflog;gitresetHEAD@{7}切回到7这个动作的提交点,参考reflog.b:gitresetHEAD^回滚一个commit.5.gitpushSW3Server:tinno-job删除服务器上的分支--tinno-job6.gitcommit--amend修改提交的注释7.本地修改多个部分,但是只提交部分,rebase的时候提示冲突,解决:gitstash2012gitrebaseSW3Server/tinno-jb2013gitpushSW3Server9081-4.1:tinno-jb2014gitstashpop8.把远程分支往后拉9.查看某人的修改记录gitlog--stat--author=someon...
代码星球 代码星球·2021-02-24

让你的Git水平更上一层楼的10个小贴士

注意:本文中,一些命令包含含有方括号的部分(e.g.gitadd-p[file_name]).在这些例子中,您要在该处插入所需的数字,标示符等。而不需要保留方括号。如果你在命令行中使用Git命令,每次手动输入命令是一件非常烦人的。为了解决这个问题,你可以很方便的开启自动补全功能。在Unix系统下,运行以下指令来获取脚本:12cd~curlhttps://raw.github.com/git/git/master/contrib/completion/git-completion.bash-o~/.git-completion.bash然后,在您的~/.bash_profile文件中添加以下代码:123if[-f~/.git-completion.bash];then    .~/.git-completion.bashfi尽管我之前就提到过,在这里我仍要不厌其烦的说:如果你想使用Git提供的全部功能,你肯定是需要转而使用命令行来操作的。你是否对出现在你Git仓库中的已编译文件(比如.pyc)感到厌烦?亦或是你已经对把它们加入Git中这件事感到忍无...

仅1年GitHub Star数翻倍,Flink 做了什么?

ApacheFlink是公认的新一代开源大数据计算引擎,其流水线运行系统既可以执行批处理程序也可以执行流处理程序。目前,Flink已成为Apache基金会和GitHub社区最为活跃的项目之一。在FlinkForwardAsia2019上,阿里巴巴资深技术专家,实时计算负责人王峰(莫问)总结了2019年Flink在中国的发展和演进,阿里对Flink社区的贡献以及未来Flink的最新发展方向。/GitHub地址: https://github.com/apache/flink欢迎一起GitHub点Star~首先,简单总结一下Flink社区的发展情况。自2014年Flink贡献给开源社区之后,其发展非常迅速。目前,Flink可以称之为Apache基金会中最为活跃的项目之一,在GitHub上其访问量在Apache项目中位居前三。从Star数量上看,仅仅是2019年一年的时间,Flink在GitHub上的Star数量就翻了一倍,Contributor数量也呈现出持续增长的态势。通过相关数据可以看出,越来越多的企业和开发者正在不断地加入Flink社区,并为Flink的发展贡献力量。其中,...

GitOps:Kubernetes多集群环境下的高效CICD实践

为了解决传统应用升级缓慢、架构臃肿、不能快速迭代、故障不能快速定位、问题无法快速解决等问题,云原生这一概念横空出世。云原生可以改进应用开发的效率,改变企业的组织结构,甚至会在文化层面上直接影响一个公司的决策,可以说,云时代的云原生应用大势已来。在容器领域内,Kubernetes已经成为了容器编排和管理的社区标准。它通过把应用服务抽象成多种资源类型,比如Deployment、Service等,提供了一个云原生应用通用的可移植模型。在这样的背景下,我们如何在云原生的环境下实践更高效的DevOps来达到更有生产力的表现就成为了一个新的课题和诉求。与GitOps这个概念相比,大家可能对DevOps的概念已经耳熟能详了。起初DevOps是为了打破开发测试、运营这些部门之间的壁垒,通过自动化的构建、程式化的脚本,最低限度减少人工误差,一定程度上提高应用版本的迭代效率;容器技术出现以后,轻量、标准化的能力使得DevOps技术才有了突飞猛进的发展。不管技术怎样更新迭代,DevOps最主要的核心诉求是不变的,那就是提高应用迭代的频率和降低成本。GitOps就是DevOps的逻辑扩展,它的核心目标是为了更...

当GitHub把我当成DDos攻击者拉进了黑名单中。。。

Github黑名单自救+快速稳定翻墙异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html原因:项目冲突,没有先更新后提交,他自行更新的时候产生大量流量,比较耗服务器性能,so==》当成攻击者了(免费没幸福了)下面说的这种方法也可以用来翻墙打不开了~~~ping一下看看啥情况,hosts和DNS没被挟持啊基本上来说访问除了github以外的网站都是可以的Git也歇菜了,有点感觉整个人都崩了很多网友说是ip被封,额,我路由重启后外网ip变化了还是不行,,可能真不是这样的。我PC==>win10外网ip为A,我另两个笔记本==>Win10外网也是A,服务器系统==>2012R2外网也是A。只有服务器的这个可以访问github 大胆推测=======》他是利用操作系统+本机信息进行一套算法计算得出的黑名单,呃呃呃。于是我就想办法呀想办法两种方法,第一个是通过其他PC进行访问,项目通过网络位置进行共享,每次提交都是用那台能访问github的进行提交(本质就是库就放在那台电脑上,然后共享文件夹)第...

8.GitHub实战系列~8.使用GitHub建立自己的免费博客

github实战汇总:http://www.cnblogs.com/dunitian/p/5038719.html创建一个用户名.github.io的仓库选择设置页面风格页面基本信息选择一个你喜欢的风格访问用户名.github.io以后你直接添加文件到本地库然后推送到远程就可以了~eg:...

★Kali信息收集~ 1.Google Hacking + Github Hacking

一、googlehackingsitesite:cnblogs.com毒逆天  intitleintitle:login  allintitleallintitle:indexof  allinurl:forcedownload.php?file=  inurlinurl:/cgi-bin/MANGA/index.cgi  cache快照页cache:stackoverflow.com  filetypefiletype:pdfKaliLinux  site+filetypesite:cnblogs.comfiletype:pdfLinux  二、githubhacking关键词搜索,自己构思即可案例:Github不仅能托管代码,还能对代码进行搜索,我们感受到了其便利的同时,也应该时刻注意,当你上传并公开你的代码时,一时大意,让某些敏感的配置信息文件等暴露于众。    让我们从第一个例子开...

Git技巧:右键菜单怎么去除?

如果你是按照http://www.cnblogs.com/dunitian/p/5034624.html那么你就没有这么多蛋疼的菜单了(反之:vs帮你安装的就蛋疼了)说下解决方法:1.Win+R输入cmd2.如果你是64位系统就这么来输入命令:(扩充里面有指令和32位系统的解决)3.成果~ 扩充:(32位的同志是不是吓一跳?O(∩_∩)O~一样解决,就是目录改下~)64目录地址: "C:Program Files (x86)Gitgit-cheetah"32目录地址:"C:Program FilesGitgit-cheetah"指令:regsvr32 /u git_shell_ext.dll...

07.GitHub实战系列~7.Git之VS2013团队开发(如果不想了解git命令直接学这篇即可)

GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html——————————————————————————————————————————————————————直接实战~(如果你之前安装了git其他版本都可以卸载了~这个就够了【而且是汉化的哦~】)1.在github创建一个项目(不要添加.gitignore文件【vs默认会替你添加】)2.打开vs,打开视图"团队资源管理器"(点"房子"图片右边的那个"连接"图标)3.新建一个本地项目4.本地目录里面就这样又文件了~5.双击刚才建的git库6.安装一下git7.点击安装会弹出一个网站地址8.下载一下~~9.安装一下~10.安装过程:看图即可 你可以手动下载安装(参考第一节课的安装配置),也可以让他帮你安装在线安装ing收工~11.创建/打开你的项目,在团队资源管理器里面选择更改相当于命令里面的本地提交gitadd+gitcommit12.同步一下13.复制一下git特有的链接(和命令的不怎么一样)14.发布【相当于gitpush】(这里必须是https的格式~)1...

Git异常:fatal: V1.0 cannot be resolved to branch.

GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html——————————————————————————————————————————————————————很多人问,明明有gitgui和github可以直接图形化操作的吗?全部指令干啥???呃(⊙o⊙)…呃(⊙o⊙)…===> 装逼~O(∩_∩)O~,开玩笑的,其实就是为了通用和熟悉git,linux里面照样这样用,多熟悉点基础指令很有用的,如果觉得顿时不开心了、无爱了==>推荐你快速入门:http://www.imooc.com/learn/390——————————————————————————————————————————————————————— fatal:V1.0cannotberesolvedtobranch.情况一:大小写等问题(上面是大写的V,下面是小写的v)情况二:待续。。。。...
首页上一页12345...下一页尾页