版本控制
张荣华_csdn
这个作者很懒,什么都没留下…
展开
-
diff与patch操作
diff:用来比较两个文件或者目录之间的差异。实例:diff -u left.c right.c包含内容:差异结果的头部(文件名,最后一次变化时间);定位符号;出现在原始文件中的行,而在目标文件中不存在;出现在目标文件中的行,而在原始文件中不存在;原始文件和目标文件都出现的行。patch:diff的反向操作。patch left.c right.c:通过diff.txt,把left.c...原创 2019-07-13 21:26:56 · 871 阅读 · 0 评论 -
git merge/git rebase分支合并
git merge:用于从指定的分支(节点)合并到当前分支的操作。git会将指定的分支与当前的分支进行比较,找出二者最近的一个共同节点base,之后将指定分支在base之后分离的节点合并到当前分支上。 分支合并,实际上是分支间差异提交节点的合并。 常用的合并分支命令格式:git merge 源分支 [目的分支,默认master]。git rebase:用于合并目标分支内容到当前分支。...原创 2019-07-14 00:31:02 · 541 阅读 · 0 评论 -
git pull/git fetch更新分支
git pull:从远端服务器中获取某个分支的更新,再与本地指定的分支进行自动合并。常用的更新分支命令格式:git pull origin origin_branch:local_branch; 如果远程指定的分支与本地指定的分支相同,则可直接执行git pull origin remote_branch。git fetch:从远端服务器中获取某个分支的更新到本地仓库。与git pul...原创 2019-07-14 00:30:56 · 14444 阅读 · 0 评论 -
git checkout切换分支
git checkout:除了创建分支,还可以用来切换分支(“检出”)。有时候,当前分支工作区存在修改而未提交的文件,与目的分支上的内容冲突,会导致checkout切换失败,这时候,可以使用git checkout -f进行强制切换。 常用的切换分支命令格式: git checkout branchname。 git checkout对象可以使分支,也可以是某个提交节点或者节点下的某个文件...原创 2019-07-14 00:30:50 · 9344 阅读 · 0 评论 -
git branch/git checkout建立分支
常用的新建分支命令格式:git branch newbranchname/git checkout -b newbranchname。git branch与git checkout -b的异同点:相同点:git branch和git checkout -b都可以用于新建分支(默认基于当前分支结点创建)。不同点:git branch新建分支后并不会切换到新分支; git che...原创 2019-07-14 00:30:43 · 1136 阅读 · 0 评论 -
git branch查看/删除分支
git branch:查看本地工程的所有git分支名称;master分支前的“*”表示:当前工作区所在的分支是master; 如果想查看远端服务器上拥有哪些分支,执行git branch -r即可,返回的分支名带origin前缀,表示在远端; 如果想查看远端服务器和本地工程所有的分支,执行git branch -a即可。git branch -d和git branch -D:可以用来删除...原创 2019-07-14 00:30:35 · 411 阅读 · 0 评论 -
git push
在使用git commit命令将自己的修改从暂存区提交到本地版本库后,可以使用git push将本地版本库的分支推送到远程服务器上对应的分支。成功推送远端仓库后,其它开发人员可以获取到你新提交的内容; 常用的推送命令格式为:git push origin branchname; branchname决定了你的本地分支推送成功后,在远端服务器上的分支名,其他人据此可以获取该分支上的改动内容;...原创 2019-07-14 00:30:29 · 394 阅读 · 0 评论 -
git log
git log:用于查看提交历史。常用的日志命令格式: git log。 默认加其他参数的话,git log会按提交时间由近到远列出所有的历史提交日志。每个日志基本包含提交节点、作者信息、提交时间、提交说明等。 git log配合不同参数具有相当灵活强大的展示功能,常见的如--name-status/-p/-pretty/-graph等。...原创 2019-07-14 00:30:22 · 296 阅读 · 0 评论 -
git commit
git commit:主要是将暂存区里的文件改动提交到本地的版本库。提交这个动作是本地动作,是往本地的版本库中记录改动,不影响远端服务器。 git commit一般需要附带提交描述信息,常见用法为git commit filename -m “commit message”。 如果一次性提交所有在暂存区改动的文件到版本库,可以执行git commit -am “commit message...原创 2019-07-13 22:51:36 · 390 阅读 · 0 评论 -
git diff与git status
Git查看工作区:git diff与git status。git diff:用于比较项目中任意两个版本(分支)的差异,也可以用来比较当前的索引和上次提交间的差异。比较两个节点之间的差异; 比较两个分支之间的差异; 当前的索引和上次提交间的差异 git diff --cached; 在diff后面加--name-status参数,只看文件列表。git status:用于显示工作目录和...原创 2019-07-13 22:46:09 · 1282 阅读 · 0 评论 -
git add/rm/mv文件到暂存区
在提交你修改的文件之前,需要git add把文件添加到暂存区。如果该文件是新创建的,尚未被git跟踪的,需要先执行git add将改文件添加到暂存区,再执行该提交; 如果文件已经被git追踪,即曾经提交过的。在早期版本的git中,需要git add再提交;在较新版本的git中,不需要git add即可提交。 一次性提交全部:git add .。git rm将指定文件彻底从当前分支的缓存区...原创 2019-07-13 22:24:02 · 3092 阅读 · 1 评论 -
Git工程准备
Git init:用于在本地目录下新建git项目仓库Git clone:用于克隆远端工程到本地磁盘。如果想从远端服务器获取某个工程,那么:确定自己Git账号拥有访问、下载该工程的权限; 获取该工程的Git仓库URL; 本地命令执行git clone [URL]或者git lfs clone [URL]。注意:如果所在项目git服务器已支持git-lfs,对二进制文件进行了区别管理...原创 2019-07-13 22:13:02 · 226 阅读 · 0 评论 -
Git常用命令
工程克隆:git clone;查看工作区:查看工作区的修改内容 git diff 查看工作区的文件状态 git status文件修改后提交推送:新增/删除/移动文件到暂存区 git add/git rm/git mv 提交更改的文件 git commit 推送远端仓库 git push查看日志:查看当前分支上的提交日志 git log分制管理:列出本地分支 git ...原创 2019-07-13 22:05:49 · 140 阅读 · 0 评论 -
Git工程区域与文件状态
Git版本控制下的工程区域只有三种:1.版本库(Repository)在工作区中有一个隐藏目录.git,这个文件夹就是Git的版本库,里面存放了Git用来管理该工程的所有版本数据,也可以叫本地仓库。2.工作区(working dierctory)日常工作的代码文件或者文档所在的文件夹。3.暂存区(stage)一般存放在工程根目录.git/index文件中,所以我们也可以把暂...原创 2019-07-13 21:56:20 · 229 阅读 · 0 评论 -
Git分布式版本控制工具
Git:Git和其他版本控制系统的主要差别在于Git对待数据的方法。CVS、Subversion、Perforce、Bazaar等版本控制工具将保存的信息看做是一组基本文件和每个文件随时间逐步累计的差异。Git更像是把数据看作是对小型文件系统的一组快照。每次提交更新,或在Git中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。全是服务器:数据安全:无带宽和性能...原创 2019-07-13 21:46:17 · 177 阅读 · 0 评论 -
CVS与SVN
CVS&SVN:集中式版本控制工具CVS:第一个大规模使用的版本控制工具,让工程师可以协同工作。存在的问题:不支持原子化提交,会导致客户端向服务端提交了不完成的数据,网络传输效率低。SVN:优化了服务器上内容的存储,实现了原子提交等。存在的问题:在局域网之外使用SVN,但是查看日志、提交数据等操作的延迟,就足以让基于广域网协同工作的团队抓狂。集中式版本控制存在的问题:狭窄...原创 2019-07-13 21:35:56 · 1380 阅读 · 0 评论 -
RCS版本控制工具
RCS(Reversion Control System)(最早期的本地版本控制工具)RCS是非常古老的版本工具,出现在SVN和CVS之前。 RCS采用把diff的集合,采用RCS自己的格式保存到磁盘中,能通过这些diff集合,重新回到文件修改的任何历史中的点。...原创 2019-07-13 21:29:44 · 1606 阅读 · 0 评论 -
git reset/git checkout./撤销操作
git reset:通常用于撤销当前工作区中的某些git add/commit操作,可将工作区内容回退到历史提交节点。常用的工作区回退命令格式:git reset commit_id。git checkouout.:用于回退本地所有修改而未提交的文件内容。git checkout.是条有风险的命令,因为它会取消本地工作区的修改(相对于暂存区),用暂存区的所有文件直接覆盖本地文件,达到回...原创 2019-07-14 00:31:09 · 522 阅读 · 0 评论