虽然 gitignore 文件对Git有特殊的意义,但是它和版本库中任何其他普通文件都是同样管理的。除非把 gitignore 添加到索引中,否则 Git 仍会把它当成未追踪的文件。 所有配置文件可浏览:https://github.com/github/gitignore 注意:.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理! [abc] 匹配任何一个列在方括号中的字符(这个例子要么匹配一个 a,要么匹配一个 b,要么匹配一个 c);如果在方括号中使用短划线分隔两个字符,表示所有在这两个字符范围内的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的数字) 问号(?) 只忽略当前目录下的something文件和目录,子目录的something不在忽略范围内 /something 总结: 一般用第二种'something/'就够了 使用Windows的童鞋注意了,如果你在资源管理器里新建一个
GIT 高手9问 1、git 比其它版控工具快的原因? 2、git 将版本库和工作区放在同一个目录,究竟是好是坏? 3、git 默认只在根目录有.git版本库,其子目录是如何发现版本库呢? 7、如何使用`GIT`找出`BUG`缔造者? 8、TAGS(里程碑)有什么用? 9、非技术问 开始阅读前,我估且认为您已经是GIT老手了。 1、git 比其它版控工具快的原因? 到底哪种方式安全各有说法 最后,也是最重要:git本身分布式的架构方式已经解决了鸡生蛋,还是蛋生鸡的问题。不同于集中管理的方式,git每个用户都是版控机 。 在git诞生之前,linux社区使用的bitmover公司的商业产品bitkeeper进行版本管理。 git在linux平台下开发,但现在已经跨平台,也是迄今最为流行的版本管理工具。
它提供了一种组织和管理项目内不同版本和代码流的方法。 恢复和重置 git revert是一个命令,它通过创建一个新提交来撤销特定提交,该新提交将撤销该提交中所做的更改。 可以使用git stash list命令查看这些暂存的更改,并可以使用 git stash drop来删除特定的暂存。如果想清楚所有暂存,可以使用 git stash clear。 解决冲突是 Git 的一项重要技能,Git 提供了一些有用的命令来简化这一过程。 当发生冲突时,使用 git status 来识别有冲突的文件。 " [main 0d9b412] add newfile.txt 1 file changed, 1 insertion(+) create mode 100644 newfile.txt Administrator @ZEXDWFABYXCPTJF MINGW64 /d/Codes/devops/devops-study (main)$ git log --oneline 0d9b412 (HEAD -> main
运行生产脚本 [root@h102 ruby]# ruby p.rb /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- bunny (LoadError) from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/ru
write support 0d52aaab4479697da7686c15f77a3d64d9165190 one more thing 6d52a271eda8725415634dd79daabbc4d9b6008e 要在那个提交上打标签,你需要在命令的末尾指定提交的校验和(或部分校验和) git tag -a v1.2 9fceb02 查看补打标签的信息 $ git tag v0.1 v1.2 v1.3 v1.4 v1.4-lw v1.5 $ git show v1.2 tag v1.2 Tagger: Scott Chacon <schacon@gee-mail.com> Date: Mon Feb 9 15:32:16 2009 -0800 version 1.2 commit 9fceb02d0ae598e95dc970b74767f19372d61af8 Author: Magnus Chacon tag 1.11 1.2 1.3 testbu v1.1 polo@B-J5D1MD6R-2312 watermarker % git tag -d 1.11 已删除标签 '1.11'(曾为 9baca61
,比如1.0版本发布时打个标签叫v1.0,2.0版本发布时打个标签叫v2.0,因为每次版本提交的结果都是一连串的哈希码,不容易记忆,打上v1.0,v2.0这些具有某种含义的标签后,可以方便我们进行版本管理 首先我们可以通过如下命令来查看当前仓库中的所有标签: $ git tag 打标签的方式很简单,直接通过git tag <tagname>来完成即可,如下命令: $ git tag v1 表示创建了一个名为 我们可以通过$ git tag -d <tagname>命令删除一个标签: $ git tag -d v1 如下图: ? 如果我想给历史上的某次commit打一个标签呢? 标签推送到远程仓库 git push命令并不会把tag提交到远程仓库中去,需要我们手动提交,如下: $ git push origin v0.0 表示将v0.0标签提交到远程仓库,也可以通过$ git 此时别人调用git pull更新代码之后,就能看到我们的tag。如下: ? Ok,Git标签管理我们先说这么多。有问题欢迎留言讨论。 参考资料: 1.《GitHub入门与实践》 2.《Pro Git》
但是随着开发的深入,Git 的正常使用都由一些友好的脚本命令来执行,使 Git 变得非常好用,即使是用来管理我们自己的开发项目,Git 都是一个友好,有力的工具。 现在,越来越多的著名项目采用 Git 来管理项目开发。 作为开源自由原教旨主义项目,Git 没有对版本库的浏览和修改做任何的权限限制。作为管理员,选择 Git 前一定要明白这句话意味着什么。 假定该用户名为git,git同时也是Git服务器的管理员。 root@yms:~# sudo adduser git 请务必牢记并妥善保管git用户的密码。 此举会导致程序员无法从客户端向服务器提交SSH证书公钥,必须通过管理员才能添加SSH证书公钥,继而成为合法的Git服务使用者。 不过,要想测试的话,至少还需要两步: 创建版本库(详见版本库管理) 添加用户(详见用户权限管理) 版本库管理 创建版本库 执行以下命令,即可创建项目名称为 xufive 的版本库: root@yms:~
删除本地仓库当前关联的无效远程地址,再为本地仓库添加新的远程仓库地址 git remote -v //查看git对应的远程仓库地址 git remote rm origin //删除关联对应的远程仓库地址 git remote -v //查看是否删除成功,如果没有任何返回结果,表示OK git remote add origin https://github.com/developers-youcong /Metronic_Template.git //重新关联git远程仓库地址 其实不仅仅上述这一种方式,还有如下几种方式: 直接修改本地仓库所关联的远程仓库的地址 git remote //查看远程仓库名称 :origin git remote get-url origin //查看远程仓库地址 git remote set-url origin https://github.com/developers-youcong 开头) 修改 .git 配置文件 cd .git //进入.git目录 vim config //修改config配置文件,快速找到remote "origin"下面的url并替换即可实现快速关联和修改
coding也是需要时间的,难保敲代码的这段时间没有人动远程仓库的东西,所以在改完代码要push的时候也应该再pull一下看有无冲突,把冲突解决了再push ①首先切换到要code的分支,比如dev分支 git checkout dev ②首先pull一次 git pull 如果是特定分支,比如dev分支 git pull origin dev 这样就可以获取到最新的更新并合并到当前分支 然后开始敲键盘码代码 …… ③将所有修改的文件添加到暂存区 git add . ④提交更改,如果需要可以备注更改信息,比如修改了无法跳转页面的bug git commit -m "修改了无法跳转页面的bug" ⑤然后再一次pull ,如果木有冲突就push,默认推送到master git push 推送到指定分支 git push origin dev 如果有冲突,改好代码后回到第③步
[wjmhlh@VM-12-9-centos gitcode]$ git branch * dev2 master [wjmhlh@VM-12-9-centos gitcode]$ cat ReadMe [wjmhlh@VM-12-9-centos gitcode]$ git status On branch dev2 Changes not staged for commit: (use "git add ]$ git checkout master # 切回master Switched to branch 'master' [wjmhlh@VM-12-9-centos gitcode]$ git checkout -b fix_bug # 新建并切换到 fix_bug 分⽀ Switched to a new branch 'fix_bug' [wjmhlh@VM-12-9-centos centos gitcode]$ git add ReadMe # 重新add,commit [wjmhlh@VM-12-9-centos gitcode]$ git commit
分支管理 查看分支 # git branch alex * master 创建分支 # git branch test # git branch alex * master test 切换分支 # git checkout alex Switched to branch 'alex' 分支合并 # git merge alex Updating 1e0b362..22031de Fast-forward +++ 2 files changed, 4 insertions(+), 0 deletions(-) create mode 100644 3.txt 具体步骤 vim 1.txt # git add 1.txt # git commit -m "alex fenzhi" [alex 22031de] alex fenzhi 1 files changed, 1 insertions(+) ' by 4 commits. # git merge alex Updating 1e0b362..22031de Fast-forward 1.txt | 1 + 3.txt | 3
git分支管理 git用了挺久,但是对分支管理还是不熟悉。 用这篇博客来记录一下常用的分支管理命令 1.首先绑定远程仓库 git remote add test git@github.com:zjy01/test.git 2.新建分支并切换 git branch news #新建分支 git checkout news #切换分支 或者 git checkout -b news #新建分支并切换到它 3.远程建立分支 git push test news #push 4.删除远程分支 这个有点奇怪 git push test :news #推送一个空的分支到远程分支,可以达到删除效果 git push --delete test news #git v1.70后 ,并且提交到了缓存区呢(git add) git reset HEAD filename git checkout -- filename 参考网站 GIT参考手册 廖雪峰的官方网站–git教程
1.1 什么是Git Flow? Git Flow实际上是一种软件项目管理模型,由大牛Vincent Driessen提出,核心思想如所图 1示。 内测均未发现的bug,则需要直接从master分支的V0.1开出一个紧急修复分支hotfixes-XXX,完成后同时并入master、develop两个主分支,hotfixes-XXX分支的存留取决于项目管理员 ü 已安装Git、TortoiseGit两款软件(也可通过360软件管家安装)。 根据上述假设,我制作了表 1。项目管理时,可以自上而下的查阅。 $ git clone git@192.168.1.36:/home/git/repositories/sample.git Cloning into 'sample'... warning: You $ git checkout -b release-ll-1.0 Switched to a new branch 'release-ll-1.0' 2) 使用Git GUI完成QA过程所需的文件提交
git add . git commit 合并feature git pull origin develop git checkout develop ##合并到develop git merge 合并到master git checkout master git merge --no-ff release-0.1.0 git push # 合并到develop git checkout develop git merge --no-ff release-0.1.0 git push # 合并master/devlop分支之后,打上tag git tag -a v0.1.0 master git hotfix-0.1.1 git push #合并到develop git checkout develop git merge --no-ff hotfix-0.1.1 git push # 删除 master git push --tags 工具使用 git flow简化上面操作 安装git flow :brew install git-flow-avh 初始化:git flow init -
文章目录 分支管理 合并分支 解决冲突 分支管理 ? 1.创建合并分支 在我们每次的提交,Git都把它们串成一条时间线,这条时间线就是一 个分支。 截止到目前,只有一条时间线,在Git里,这个分支叫主分 支,即master分支。 一开始的时候,master分支是一条线,Git用master指向最新的提交, 再用HEAD指向master,就能确定当前分支,以及当前分支的提交点: ? Git怎 么合并呢?最简单的方法,就是直接把master指向dev的当前提交,就 完成了合并: ? 所以Git合并分支也很快!就改改指针,工作区内容也不变! 2 使用TortoiseGit实现分支管理 使用TortoiseGit管理分支就很简单了 7.2.1 创建分支 在本地仓库文件夹中点击右键,然后从菜单中选择“创建分支”: ?
前面说了,如果你手滑删掉了一个文件,可以用 Git 帮你找回来。同样,如果一个文件被你改来改去面目全非,直到程序无法运行,你累感不爱想要回到开始的状态,Git 也可以帮你轻松搞定。 # # deleted: readme.txt # no changes added to commit (use "git add" and/or "git commit -a") 注意其中有一句提示 那我们就来试一下: git checkout -- readme.txt 看看文件夹中,消失的文件是不是又回来了?再看下 git status,也回到了没有产生修改的状态。 # modified: readme.txt # 这里 Git 又给出提示了: use "git reset HEAD <file>..." to unstage 用 git reset HEAD 那么你可以用 git commit --amend 来重新提交。 做完修改、暂存之后,运行 git commit --amend 会开启文本编辑器让你修改上次的提交注释,或者通过 -m 参数直接指定。
Svn中也有分支管理,但是很low,Git的分支管理非常强大,本文先不去说分支管理内部到底怎么做的,我们先来看看Git中最基本的分支管理操作。 中的分支管理功能: 1.创建一个长期分支用来开发3.0功能,假设这个分支的名字就叫v3,我们在v3上添加新功能,并不断测试,当v3稳定后,将v3合并到master分支上。 以上两个步骤同步进行,这在Svn中简直是不可想象的,因为Svn的分支管理太low,而Git能够让我们做到随心所欲的创建、合并和删除分支。 fa分支中的git01.txt和master分支中git01.txt的内容就不相同了,具体操作如下: ? 好了,分支管理我们就先说这么多,有问题欢迎留言讨论。 参考资料: 1.《GitHub入门与实践》 2.《Pro Git》
一直只会常用的那几个 Git 命令,每次遇到不会的操作都是现去Google,十分不方便,今个得空咋就仔仔细细的学习学习 Git ! Git简介 Git是目前世界上最先进的分布式版本控制系统。 git reflog #查看所有的历史命令,获取你想要回到的版本id, git reset --hard <commit id> #回退到该版本 分支管理(平行宇宙) 分支简介 Git用master指向最新的提交 git diff --cached #⽐较暂存区和上⼀次commit后的修改。 SourceTree 一款用于Windows和Mac的免费Git可视化管理工具。 详细用法可参考: git的GUI工具Sourcetree使用及命令行对比 Git/SourceTree版本管理_bilibili Reference git命令与Sourcetree使用 Git教程 Git使用教程 Git分布式版本控制器常用命令和使用
7.分支管理策略 通常合并分支时,不会产生冲突的情况下,如果可能,Git 会采用 Fast forward 模式。 8.分支策略 在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面进行开发(因为不能用户在使用软件时是不是出错);实际开发都在 所以,团队合作的分支看起来就像这样: 9.bug 分支 假如我们现在正在 dev2 分支上进行开发,开发到一半,突然发现master 分支上面有 bug,需要 解决。 /or "git commit -a") Git 提供了git stash 命令,可以将当前的工作区信息进行储藏,被储藏的内容可以在将来某个时间恢复出来。 clean 用 git status 查看工作区,就是干净的(除非有没有被 Git 管理的文件),因此可以放心地创建分支来修复bug。
一、git 分支管理 1. 以上就是常见的分支管理操作了。 二、git 版本管理 在使用 git 提交代码时,每次 commit 都会生成唯一的版本号,回退版本,创建分支等操作都可以使用到具体的版本号,来按需找到对应的代码状态。 git 可以通过 git tag 来给项目打标签,定义版本号,更方便的进行版本管理。 # 删除本地标签 git tag -d 标签名 # 删除远程标签 git push origin --delete tag 标签名 这样,可以很方便的对项目进行版本管理了。