宝哥软件园

Git原理及常见操作

编辑:宝哥软件园 来源:互联网 时间:2021-08-29

因为gitlab免费私仓的优势,公司会有更多gitlab的使用。对于gitlab来说,注册需要翻墙,但是登录不需要。

我不会多说git在这里做什么。相信大家都知道,在这里我们将在一个小时内带大家掌握git原理,学习git操作。

Git工作流

在gitlab上,每个人或者每个项目或者bug都会有自己独立的分支。分支不影响主分支。

一般工作流程如下:

克隆Git资源作为工作目录。添加或修改克隆资源上的文件。如果其他人修改了资源,您可以更新它们。提交前请检查更改。提交更改。修改完成后,如果发现错误,可以撤回提交,重新修改提交。

Git工作区、暂存区和版本库

在这里理解git的重心。因为我们使用的是git,也就是在本地计算机上,本地计算机会有自己的仓库,每个项目文件夹的根目录下都可以设置一个仓库。本地仓库与本地分支机构和远程分支机构分开。您可以通过拉动将远程分支拉到本地,或者将本地分支推送到远程分支。

工作区:是你在电脑上可以看到的目录。临时存储区:英文称为stage或index。一般存储在索引文件(。git/index)下。git目录”,所以我们有时称之为临时存储区索引。版本库:工作区有一个隐藏目录。Git,它不是工作空间,而是git的版本库。下图显示了工作区、版本库中的暂存区和版本库之间的关系:

工作区在左边,版本库在右边。版本库中标记为“index”的区域为stage、index),标记为“master”的区域为master分支所代表的目录树。

在图中,我们可以看到“HEAD”实际上是一个指向主分支的“光标”。因此,HEAD在图示命令中出现的位置可以由master替换。

图中由对象标记的区域是Git的对象库,它实际上位于”。git/objects”目录,并包含各种创建的对象和内容。

当对工作区修改(或新增)的文件执行“git add”命令时,更新临时存储区的目录树,将工作区修改(或新增)的文件内容写入对象库中的新对象,并将对象的ID记录在临时存储区的文件索引中。

当执行git commit时,暂存区的目录树被写入版本库(对象库),主分支将相应更新。也就是说,主控指向的目录树是提交时临时存储区的目录树。

执行“git reset HEAD”命令时,暂存区的目录树将被重写,并被主分支指向的目录树替换,但工作空间不会受到影响。

执行“git RM-cache file”命令时,文件将直接从暂存区中删除,工作区不会改变。

执行“git签出”时。或者“git checkout - file”命令,工作区中的文件将被临时存储区中的所有或指定文件替换。此操作很危险,它将清除工作区中尚未添加到便笺簿的更改。

当执行“git结账头”时或“git checkout HEAD file”命令,HEAD指向的主分支中的全部或部分文件将替换暂存区和工作区中的文件。这个命令也非常危险,因为它不仅会清除工作区中未提交的更改,还会清除暂存区中未提交的更改。

在这里,我们可以通过几个常用的操作说明和注释快速入门。在大多数情况下,我们不需要在本地创建仓库,所以我们不会在这里介绍在本地创建仓库。

Git安装配置

作为参考,我在这篇文章中写了https://www.jb51.net/article/148066.htm

Git使用前配置

配置帐户密码和编辑器。首先,让git知道我们登录gitlab的帐户和电子邮件地址。每次git联系gitlab或github时,它都会使用我们配置的帐户和电子邮件地址

git config-global user . name ' Luan Peng ' git config-global user . email[email protected]对于其他配置,使用默认值。

注意:每个目录下都有一个仓库。仓库信息由保存。git文件,并且本地项目文件夹被上传到远程仓库的指定分支的文件夹中

要修改远程仓库的分支内容,我们需要将远程仓库的一个分支拉到本地,将修改后的内容添加到本地,并推送到远程。

所谓修改包括添加文件、删除文件、清空文件等等。

比如我想把我的文件夹上传到远程仓库的乱鹏分部下的ios/server文件夹。

选择一个目录来存储远程仓库分支的内容。git clone-b luanpeng[email protected]: Luan Peng/cloud-ai . git将远程仓库的分支机构Luan Peng下载到当前目录。默认主分支cd项目目录git分支视图分支显示栾鹏分支在文件夹的相应位置添加您的项目文件或文件夹,并返回命令行。Git add。将当前目录中的所有文件添加到缓存git状态查看缓存和版本库中的所有更改Git commit-m ' description '//将受监督内容中的更改提交到本地版本库创建到远程仓库的链接Git Remote Add Cloud AI[email protected]: Luan Peng/Cloud-AI . Git使用Cloud AI的名称将当前分支上传到远程仓库的分支代表远程仓库git push cloudai luanpeng。Git remote -v查看远程仓库链接git remote rm cloudai删除远程仓库链接。如果您是git init在本地创建的仓库,如果您想通过推送上传到远程仓库,您需要首先

获取远程库并与本地同步合并(如果远程库不为空,则必须完成此步骤,否则后续提交将失败)git pull - rebase cloudai luanpeng将远程仓库的分支拉至本地本地仓库管理

如果你想在你的计算机上建立一个仓库,管理你自己的代码以备将来使用。可以使用以下操作

仓库初始化mkdir projectdir创建一个目录cd projectdir进入目录git init创建一个仓库,自动创建一个主分支并手动复制、剪切和修改工作区中的文件gitadd(即这个文件夹)。//将当前文件夹下的所有文件添加到缓存中,手动添加文件,需要添加后才能添加到缓存中。git状态查看缓存和版本库之间的文件差异。git commit-m ' description '/将缓存的内容更新到版本库分支git分支查看当前分支git分支-a查看所有分支。前面的*号代表当前工作目录所在的分支。git分支分支名称在当前仓库中添加一个分支,并创建一个分支名称分支。您需要向其中添加文件并提交git签出分支名称#以切换到分支名称分支,然后工作区将只显示该分支下的文件夹。Git分支-D分支-名称删除本地分支git分支-删除分支-名称远程仓库管理

从本地分支到远程分支的链接称为跟踪分支。跟踪分支是与远程分支直接相关的本地分支。在跟踪分支中输入Git push,Git将推断哪个服务器的哪个分支应该推送数据。相反,在这些分支中运行git pull将获得所有远程索引,并将它们的数据合并到本地分支中。

注意:本地创建的远程仓库和跟踪分支只是到远程仓库和分支的链接。我们可以在本地管理远程仓库或分支机构

Git远程-v查看远程仓库链接git远程rm cloudai删除cloudai远程仓库链接git远程添加cloud ai [email protected] :栾鹏/Cloud-ai.git建立远程仓库的链接git push cloudai :luanpeng删除远程仓库的luanpeng分支查看本地创建的远程分支链接git branch查看本地分支git branch -a查看所有分支git branch -r查看所有远程分支链接git b Ranch -r -d origin/branchname删除本地远程分支链接pull and push到远程分支git pull远程库名远程分支名:本地分支名//pull远程仓库的分支, 当本地分支机构时,本地分支机构不得写入远程分支机构名称git push[email protected]: luanpeng/cloud-ai . git master//将本地仓库提交给远程仓库的master分支机构git远程添加cloud ai[email protected]: Luan Peng/cloud-ai . git push cloud ai Luan Peng需要注意的是,默认情况下,此语句相当于将本地主仓库提交给远程仓库作为远程Luan Peng分支机构。 Git推云AI master :栾鹏提交本地栾鹏分公司到远程仓库栾鹏分公司git推云:栾鹏提交本地空分分公司到远程仓库分公司,即删除远程仓库分公司注:我们修改了分公司下的文件。Git add。被添加到缓存到git commit-m ' description '被更新到版本库git推云ai master :栾鹏更新版本库到远程分支摘要

以上就是本文的全部内容。希望本文的内容对大家的学习或工作有一定的参考价值。谢谢你的支持。如果你想了解更多,请查看下面的相关链接

更多资讯
游戏推荐
更多+