git是一款免费且开源的分布式版本控制系统,适用于敏捷高效地管理从小型到大型的项目。它能够迅速有效地处理不同规模项目的版本管理。
分布式与集中式版本控制系统的主要区别在于,开发者可以在本地提交代码。通过克隆(git clone),开发者可以将完整的Git仓库复制到本地机器上。
要学习Git,可以搜索以下资源:
Git简明指南Git完整命令手册PDF版Git教程Git图形化操作插件:小乌龟
从一般开发者的角度来看,Git的功能特性包括:
从服务器克隆完整的Git仓库(包括代码和版本信息)到本地机器。根据不同的开发目的,在本地机器上创建分支并修改代码。在自己创建的本地分支上提交代码。在本地机器上合并分支。从服务器获取最新版本的代码,并与自己的主分支合并。生成补丁(patch)并发送给主开发者。查看主开发者的反馈。如果主开发者发现一般开发者之间有冲突(可以合作解决的冲突),会要求他们先解决冲突,然后再由其中一人提交。如果没有冲突或主开发者可以自己解决,则通过。开发者之间可以通过pull命令解决冲突,解决后再向主开发者提交补丁。
从主开发者的角度(假设主开发者不参与代码开发)来看,Git的功能包括:
通过邮件或其他方式查看一般开发者的提交状态。应用补丁,解决冲突(可以自己解决或要求开发者之间解决后重新提交),并决定哪些补丁对开源项目有用。将结果提交到公共服务器,并通知所有开发人员。
Git的优点包括:
适合分布式开发,强调个体。公共服务器的压力和数据量不会太大。速度快且灵活。开发者之间可以轻松解决冲突。支持离线工作。
Git的缺点包括:
中文资料较少。学习周期较长。不符合常规思维。代码保密性差,一旦开发者克隆完整库,所有代码和版本信息就可能被公开。
Git安装配置说明:本文仅介绍基础部分,详细操作请参考文首提供的链接。
在使用Git之前,需要先安装Git。Git支持在Linux/Unix、Solaris、Mac和Windows平台上运行。
在Windows平台上安装Git非常简单,通过msysGit项目提供的安装包即可。可以在GitHub页面下载exe安装文件并运行:
安装完成后,可以使用命令行的Git工具(自带ssh客户端),还可以使用图形界面的Git项目管理工具。
在开始菜单中找到”Git”-“Git Bash”,会弹出Git命令窗口,你可以在该窗口进行Git操作。
Git的工作流程:
通过
git init
命令,可以将当前目录变成Git可以管理的仓库:
$ git initInitialized empty Git repository in /Users/michael/learngit/.git/
在Windows系统上,为了避免各种问题,请确保目录名(包括父目录)不包含中文。
使用
git clone
命令可以将Git仓库拷贝到本地,以便查看项目或进行修改。如果你需要与他人合作一个项目,或者想查看代码,可以克隆该项目。执行命令:
git clone [url]
其中,[url]是你想要复制的项目地址。
使用
git add
命令可以将文件添加到仓库:
奇布塔
基于AI生成技术的一站式有声绘本创作平台
41 查看详情
$ git add readme.txt
执行此命令后没有输出。
第二步,使用
git commit
命令将文件提交到仓库:
$ git commit -m "wrote a readme file"[master (root-commit) cb926e7] wrote a readme file 1 file changed, 2 insertions(+) create mode 100644 readme.txt
git commit
命令中的
-m
参数后面是本次提交的说明,可以输入任意内容。
使用
git status
命令可以查看自上次提交后是否有修改。演示该命令时可以加上
-s
参数以获得简短的输出结果。如果不加该参数,将会详细输出内容:
$ git statusOn branch masterInitial commitChanges to be committed:

git diff
命令用于查看difference,显示的格式是Unix通用的diff格式。
执行
git diff
命令可以查看
git status
结果的详细信息。
git diff
命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。
git diff
有两个主要应用场景:
查看尚未缓存的改动:
git diff
查看已缓存的改动:
git diff --cached
查看已缓存的与未缓存的所有改动:
git diff HEAD
显示摘要而非整个diff:
git diff --stat

git status
命令显示自上次提交后更改或写入缓存的改动,而
git diff
命令则逐行显示这些改动的具体内容。
接下来我们来看一下
git diff --cached
的执行效果:
使用
git add
命令将想要快照的内容写入缓存区,执行
git commit
命令将缓存区内容添加到仓库中。
Git为每个提交记录你的姓名和电子邮件地址,因此第一步需要配置用户名和电子邮件地址:
$ git config --global user.name "xxxxxxxx"$ git config --global user.email xxx@xxxxx.com
如果你觉得
git add
提交缓存的流程过于繁琐,Git允许你使用
-a
选项跳过这一步。命令格式如下:
git commit -a
使用
git rm
命令可以将条目从缓存区中移除,这与
git reset HEAD
将条目取消缓存不同。”取消缓存”意味着将缓存区恢复到我们做出修改之前的状态。
默认情况下,
git rm file
会将文件从缓存区和硬盘(工作目录)中删除。如果你想在工作目录中保留该文件,可以使用
git rm --cached
:
Git常用命令总结:
从远程仓库克隆到本地分支:
git clone 远程地址
在本地创建新分支:
git branch 分支名称
(分支名称通常格式为feature-实现的功能)切换分支:
git checkout 分支名
删除分支:
git branch -D 分支名
查看当前项目中代码状态:
git status
和
git status .
(后者表示当前项目所有文件,注意最后有一个点“.”)添加文件:
git add 文件目录/文件名
和
git add .
(后者表示当前目录下所有文件提交到暂存区,注意最后有一个点“.”)提交到本地分支:
git commit -m "标签注解"
提交到远程分支:
git push origin 远程分支名
从远程仓库拉取代码到本地分支:
git pull origin 分支名
;如果有冲突,可以用
git status
查看有冲突的文件。
pull=fetch+merge
,
fetch
是将远程代码拉下来,
merge
是合并进去。取消上次修改:
git reset .

以上就是GIT——分布式版本控制系统的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/393935.html
微信扫一扫
支付宝扫一扫