赞
踩
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
针对工程中的不同版本进行管理。
针对工程中的不同分支进行管理和合并
可以将仓库放在服务器,这里的服务器可以是自己搭建的服务器或者github,gitlab等开发的平台进行托管。
集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
当前的工作目录,就是你所看到的文件
Git工具提供的一个临时存放空间,一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)
Git工具提供的提交版本存放空间,存放在.git目录下
新增文件,然后提交到仓库中,这是非常简单的操作。
例子涉及命令如下:
1.初始化仓库
git init
2.添加文件到暂存区
git add README.md
3.提交改动
git commit
在实际开发过程中,难免会遇到一些bug,为了快速调试和定位,我们可以使用git的版本回滚功能。
例子涉及命令如下:
1.查看历史记录
git log
2.查看所有历史记录
git reflog
3.版本回滚(HEAD)
git reset --hard HEAD^
4.版本回滚(commit id)
git reset --hard 90871fa(commit id)
有一些大型项目往往需要多人合作开发,在开过程中都是各自完成各自的任务,但是进行合并时就头疼了,会出现各种意外状况。再者,对于一些项目,我们会做一些新增功能开发,但是这些功能是没经过测试的,如果我们在已经发布的代码上做修改,会有一定的风险。因此我们需要用到git的分支管理功能。
例子涉及命令如下:
1.新增研发分支 git checkout -b develop 2.在develop分支上新增“新特性分支” git checkout -b feature-upgrade 3.查看当前有哪些分支 git branch 4.添加文件 git add . 5.提交 git commit 6.切换到develop分支 git checkout develop 7.将最近特性合并到当前分支 git merge feature-upgrade 8.删除分支 git branch -d feature-upgrade
在实际应用中会把本地的仓库上传到服务器,可用作备份,可用作共同开发,当然也可用于分享。下面主要介绍一下如何把在github上创建远程仓库,并发本地仓库同步到远程仓库。
例子涉及命令如下:
1.将远程仓库地址添加到本地仓库
git remote add origin https://github.com/YuHuaYoung/1th
2.将本地内容推送到远程仓库
git push origin master -f
我们实际工作中,在进行文件修改时,在调试阶段需要对文件进行撤销,备份等操作。利用Git我们可以把文件存放在暂存区,进行文件比较,文件回滚等操作。
例子涉及命令如下:
1.将当前所有修改保存在暂存区
git stash
2.查看当前有哪些储存
git stash list
3.查看存储的具体改动
git stash show
4.将存储的内容恢复到工作区
git stash apply
5.将存储的内容恢复到工作区并删除该存储内容
git stash pop
6.删除指定储存内容
git stash drop stash@{$num}
7.清空所有存储内容
git stash clear
git的操作是通过命令行实现的,对于不熟系命令行的同学来说,通过图形界面的客户端更加方便。我可以通过安装Git for Windows或者GitHub Desktop来进行一些简单的操作。
将新增文件等添加到仓库(stage区)
将修改内容提交到版本库
从服务器如github,将远程仓库克隆到本地
将本地的修改推送到远程仓库
将远程仓库的最新修改内容同步到本地仓库
[外链图片转存失败(img-sBGOU7hu-1563852050803)(images/同步远程仓库.png)]
新建分支是指在原有分支中新建出跟原来分支一模一样内容的分支,分支命令有使用者决定
合并分支需要切换到你要“合并到”的分支,再将选择需要合并的分支
在开发过程中,我们需要对不同版本中的源文件进行比较。使用git时,我们除了使用原生的比较工具git diff
进行比较之外,还可以使用第三方工具,如我们比较常用的Beyond Compare
工具进行比较。而且还可以帮我解决分支合并的一些问题。
1.设置合并工具
git config --global merge.tool bc3
2.设置合并工具路径
git config --global mergetool.bc3.path "D:\\Program Files\\Beyond Compare 4\\BCompare.exe"
3.设置比较工具
git config --global diff.tool bc3
4.设置比较工具路径
git config --global difftool.bc3.path "D:\\Program Files\\Beyond Compare 4\\BCompare.exe"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。