网站首页 > 技术文章 正文
上篇通过【Git实战001:Windows系统Git安装及设置详解 】已经安装配置好了Git,现在我们利用Gitlab来快速的实现项目git版本控制功能。Git版本控制为文件提供了3种状态分别是已修改(修改了某个文件,但还没有提交保存)、已暂存(把已修改的文件放在下次提交时要保存的清单中)、已提交(该文件已经保存在本地版本库中),这3个状态分别对应了一个工作域,已修改的放在工作区(日常工作的代码文件或者文档所在的文件夹)、已暂存的添加在暂存区(工程根目录.git/index文件中)、已提交存放在本都版本库(.git目录,管理该工程的所有版本数据)。
?创建版本库
版本库(repository)也叫仓库,Git可以对该仓库中的所有文件进行管理并追踪每个文件的历史修改记录,可以时刻对文件进行”还原”操作以恢复之前的版本信息。这个仓库可以是已经存在的目录或创建一个空目录(Windows系统路径不能有中文),通过git init命令将这个目录初始化成Git的管理仓库。在当前目录下生成一个 .git 的目录(默认是隐藏目录),这个目录就是Git来跟踪管理版本库的。
?创建项目
接下来我们就可以在仓库中来创建项目了,这里我用Python创建一个Django项目。在仓库目录调出cmd命令窗口,运行以下命令:django-admin startproject NXOpen创建一个名为NXOpen的项目,然后在仓库就会生成一个项目名为NXOpen的文件夹了,我们的项目就存储在这个目录下。
?查看当前仓库的状态
使用命令git status可以查看当前仓库中文件的状态,on branch master 显示当前的所有的分支,Git为我们自动创建的第一个主干master,此时没有分支。no commits yet 表示没有要被提交的项目,Untracked file表示有未跟踪的文件。需要将项目先添加到暂存区,否则就无法提交至版本库(括号中提示可以使用git add命令将要提交文件添加到暂存区)。
?添加暂存区
暂存区就是数据暂时存放的区域,用来跟踪记录工作区的文件变化。使用命令git add NXOpen可以将文件夹及文件夹下的内容都提交到暂存区(也可以直接用git add .),这时在.git目录下面会生成一个index的文件。index里维护了文件索引并计算好的tree对象的内容,当我们提交的时候他可以迅速的根据我们已经计算好的内容生成一个tree对象然后添加到历史记录里面。
提交版本库
这里提交的是本地版本库,通过git命令:git commit 来提交暂存区文件。 git commit主要是将暂存区里的改动给提交到本地仓库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,也就是本次提交的唯一ID。参数-m 用来添加提交信息,如果加上则可以直接在后面输入注释信息“message”,如果不加 -m参数则会调用VIM编辑器让你输入message。参数-a可以把还没有执行add命令的修改一起提交到本地仓库。更多其他的参数可以通过git commit --help来获取,git提供了关于commit命令的帮助文档。
关联Gitlab
在推送之前我们需要先到Gitlab创建一个项目,创建之后我们就可以获取到远程仓库的SSH地址。在项目底下会有对应的命令行操作指令,我们可以根据自己的实际情况选择对应的操作指令。第一次上传我们需要先关联远程仓库,利用命令git remote add “远程主机名,一般为origin” “Gitlab项目的SSH地址”来关联远程仓库。如果关联失败需删除.git目录重新初始化,再进行关联、暂存、提交等操作。
?推送项目至Gitlab
第一次提交代码我们使用命令:git push -u origin master来提交至远程仓库,由于远程库是空的所以第一次推送master分支时需要加上–u参数,推送master分支时会把本地的master分支内容推送的远程新的master分支。如果不行可以加上参数-f进行强制推送,这时可以把当前分支master推送到远程并覆盖master,推送成功后就可以在Gitlab页面中看到项目文件了。
?从Gitlab拉取项目
先进Gitlab查看你需要拉取的项目,在Clone中找到对应的远程仓库SSH地址。在任意目录打开Git Bash(Linux风格的命令行),执行命令:git clone “仓库地址”就可以实现项目的拉取。
?总结:
提交之前需将修改的文件先添加至暂存区,首次推送远程仓库需先关联仓库地址。关联一般直接用这种格式git remote add origin git@192.168.31.10:Kevinfan/nxopen.git即可(默认端口为22),如果该端口被禁用则改用git remote add origin ssh://git@192.168.31.10:port/Kevinfan/nxopen.git,即在git前面加上ssh://并在IP后面加上具体的端口号。以上内容是小编给大家分享的【Git实战002:Git快速入门使用详解】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
猜你喜欢
- 2024-10-27 git 入门教程之紧急修复(git checkout . 恢复)
- 2024-10-27 项目版本管理的最佳实践:飞流Flow篇
- 2024-10-27 DevOps(4)之分支模型(ps4如何构建画布)
- 2024-10-27 Git 在团队中的最佳实践——如何正确使用Git Flow
- 2024-10-27 鹅厂程序员干货分享 | 四种工作流,教你如何使用 GitHub
- 2024-10-27 Linux下git和github搭建使用教程(linux搭建git仓库)
- 2024-10-27 git这个小技巧非常实用,值得每个程序员学习
- 2024-10-27 git 多人在同一分支上迭代开发时,如何保证分支提交历史保持线性
- 2024-10-27 Git基础知识(七)--分支开发工作流
- 2024-10-27 Git分支规范(git新建分支)
- 11-26Win7\8\10下一条cmd命令可查得笔记本电脑连接过的Wifi密码
- 11-26一文搞懂MySQL行锁、表锁、间隙锁详解
- 11-26电脑的wifi密码忘记了?一招教你如何找回密码,简单明了,快收藏
- 11-26代码解决忘记密码问题 教你用CMD命令查看所有连接过的WIFI密码
- 11-26CMD命令提示符能干嘛?这些功能你都知道吗?
- 11-26性能测试之慢sql分析
- 11-26论渗透信息收集的重要性
- 11-26如何查看电脑连接过的所有WiFi密码
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)