Git提供了对版本打标签(tag)的功能。 标签功能实际上是指向某个Commit的指针,是某个Commit后代码的快照。和分支指针不同的是标签指针不随着后续的Commit而移动。 标签功能的作用 当发布版本时,如果新版本的代码指向某个Commit;使用标签功能方便管理。毕竟Commit自动生产的标识,是无序的字符串。 创建标签 git tag #用于新建一个标签,默认为HEAD,也可以指定一个commit id gi…
文件忽略机制是用于将“工作目录”中的部分文件不进行跟踪,不加入到“暂存区”。 git 版本控制有两种方法进行文件忽略;这里只说gitignore文件配置方法。 配置语法 1、以斜杠“/”开头,表示忽略“工作目录”下的某个目录 2、以星号“*”通配符,正则匹配多个字符 3、以问号“?”通配符,正则匹配单个字符 4、以方括号“[]”正则符号,包含单个字符的匹配列表 5、以叹号“!”正则符号,表示不忽略匹配到的文件或目录 …
Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照。 分支的使用场景 假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码。 1、如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。 2、如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。 现在有了分支,就不用怕了。 你创建了一个属于你自己的分支,没有推到远程,则别人就看不到你的分支。 你在自己的分支上干活…
git中用于代码回滚的有reset、checkout和revert命令。 1、reset将当前分支的末端指向另一个提交。这样可以移除当前分支的一些提交。 2、checkout将HEAD移到一个新的分支,然后更新工作目录。 3、checkout可以对还未提交的修改文件,直接恢复到未修改前(上一个commit)。 4、revert将之前的提交进行反写,然后创建新的提交 5、reset操作的是提交;checkout操作的主…
配置文件 git管理仓库时,存在3个不同的配置文件,对应于不同的环境变量。 /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。 ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。 .git/config 文件:当前项目的 …
git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。 主要功能 1、采用了分布式版本库的作法,与CVS、Subversion一类的集中式版本控制工具不同,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。 2、git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。 3、…
多人协作的工作模式通常模式: 首先,试图用git push origin branch-name推送自己的修改。 --如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并; ----如果合并有冲突,则解决冲突,并在本地提交; --没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功! 如果git pull提示“no tracking informat…
用于保存和恢复工作进度 git stash 保存当前的工作进度。会分别对暂存区和工作区的状态进行保存 git stash save "message..." 这条命令实际上是第一条 git stash 命令的完整版 git stash list 显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候进行选择 git stash pop [--index] [] 如果不使用任何参数,会恢…
基本分支管理 1、查看本地分支 git branch git branch -a #所有分支 2、创建分支 git branch 基于当前分支的末梢创建 git checkout -b 基于当前分支的末梢创建,并检出分支 git branch commit-id基于某次提交,创建分支 3、检出分支 git checkout 4、分支重命名 git branch -m#不会覆盖同名分支 git branch -M #会…
Git 保存的不是文件的变化或者差异,而是一系列不同时刻的文件快照。 从不同的角度理解git的管理,可以分为3个工作区域和4个文件状态。 3个工作区域:工作目录、暂存区域、Git仓库 4个状态:未跟踪、以修改、以暂存、已提交 工作区域 工作目录:电脑中看到的开发目录。官网的解释:对项目的某个版本独立提取出来的内容。 这些从Git仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。 暂存区域:Git仓库目录下的…