当前位置: 首页 > Linux

没有linux基础也能掌握git的基本操作

时间:2023-04-07 01:23:29 Linux

git是一个管理项目的工具。它的远程仓库包括github、gitee、gitlab代码托管中心,不仅可以用于个人分享代码,还可以用于团队协作和发布项目,所以一起来学习git的使用吧~Git分为本地计算机上的三个部分,工作区、暂存区和本地库。各区域的作用如下。首先,如果要使用git来管理我们的项目,本地必须要有git环境。安装好git后,可以在任意地方右键gitbash打开命令行窗口,找到合适的文件夹,将其作为git仓库,使用gitinit//初始化项目此时,有一个.git文件夹中的文件,这意味着git的初始化完成。仓库初始化完成,如果没有项目,那git就没用了,那我们先创建一个hello.txt,这时候里面写了一些项目说明。一旦创建和修改的文件都在git的本地。首先我们要提交到暂存区,然后再提交到本地库,这样我们就可以管理文件的各个版本,更好的迭代、更新、回滚项目。那么我们需要如下指令gitconfig--globaluser.namealice//全局设置用户名,只需要设置一次gitconfig--globaluser.emailalice@hello.com//设置用户全局邮箱,只需要设置一次gitstatus//查看本地文件状态,红色表示工作区有新建/修改的文件,绿色表示暂存区有新建/修改的文件gitadd.//使用。表示提交所有文件,也可以写具体的提交文件gitcommit-m"addfile"//""表示修改备注信息的操作和新增一样,git命令行工具的提示会不一样。会有很多记录。这个时候我们可能想看看一共提交了多少个版本。可以通过以下方式查看历史记录gitlog//显示完整的历史记录,包括时间、作者和提交的备注gitlog--pretty=oneline//一行显示历史gitlog--oneline//显示一行显示历史,同时截取代表文件的前七位哈希值gitlogreflog//一行显示历史显示,截取代表文件的前七位哈希值,HEAD@{0}表示当前位置如果某个时间修改了bug,代码需要回滚,那么可以使用下面的方法gitreset[回滚方法][version]回滚有以下几种方式——hard表示工作区和本地的暂存都回滚--mixed表示暂存和本地库的版本都回滚。这时候输入gitstatus查看文件状态时,提示文字会被标红,因为工作区和暂存区的文件不一致--soft表示只有工作区的版本会被回滚。此时输入gitstatus查看文件状态时,提示文字会被标记为绿色,因为工作区和暂存区不一致。暂存区的文件是一样的,但是暂存区和本地库的版本不一致。版本的使用有如下几种方式(1)直接使用代表版本的hash值(2)HEAD代表当前版本,用^表示之前的版本,多少^代表回滚多少个版本forward(3)through~加数字表示向前nversions如果有些文件我们不需要,想删除,删除文件不是直接删除,而是新增一条记录gitrm[file]//同时需要提交暂存区和本地librarygitadd.gitcommit-m"remark"如果想查看当前版本和之前版本的区别,可以使用这个命令gitdiff[文件名]/gitdiff[一个版本][文件名]//在命令行工具中使用+和-来区分添加和删除的内容。在开发过程中,往往会有多个分支。往往会设置主分支、测试分支、开发分支。当开发完成后,自己创建的分支代码会被Merge到主分支中,我们可以使用以下方法创建分支并合并gitbranch-v//查看分支版本gitbranchtest//创建名为测试gitcheckouttest//在当前分支切换到测试分支//写好内容后,还需要将代码提交到暂存区和本地库gitadd。/gitcommit-m"testbranchaddinfo"gitcheckoutmaster//master为主分支的默认名称gitmergetest//将test分支上的内容合并到master分支中//当合并文件冲突时与合并后的文件,命令行工具右侧显示的分支版本名称为(master|merging),需要自行删除冲突文件修改,修改完成后,执行add和commit操作.以上就是本地环境下git的基本操作说明。我们经常会把代码上传到github、gitee、gitlab这些托管中心,那么我们如何使用这些托管中心呢?团队协作呢?这里我们以github为例。从两个方面来说,如果开发者是团队成员,简单的操作流程如下。创建者将本地代码推送到远程库,团队成员收到加入团队的邀请,然后通过git地址clone代码到本地,然后在修改代码时,提交更新后的代码add/commit到本地库然后push到远程库,创建者通过pull操作取回远程库的代码,pull其实就是fetch+merge这两个操作,fetchcode取回代码,merge就是合并具体操作过程如下Creatorgitremote-v//查看远程库的别名地址gitremoteaddoriginhttps://github.com/xxx/yyy.git//这里是设置git的别名addressofxxxasorigin,以后pull和push这个git的代码,可以直接使用别名originitpushoriginmaster//把代码推送给别名origin的master分支teamcollaboratorgitclonegithub.com/alice/xxx.git//clone完成了三步操作,获取git代码回本地,初始化git仓库,设置远程别名//本地代码开发,需要添加/commit到thelocallibrarygitpushoriginmastercreatorgitpulloriginmaster//put远程库的代码检索相当于gitfetchoriginmaster+gitmergeorigin/master。如果两次操作有多个组员,大体流程同上,主要是提交到本地库,推送和合并。还有就是团队协作的情况。贡献代码的同学不是团队成员,而是外部支持。此时,跨团队协作方法创建者的推送代码方式没有变化,且跨团队协作者不是团队成员,没有提交代码的权限。所以首先需要进行一次fork操作,相当于在自己的git仓库上创建一个和对方一样的项目,然后跨组员会从自己的git仓库clone代码,修改add/commit操作,提交到本地库,点击github上的pullrequests操作。最后,创作者会再次审核。codereview无误有效后,查看pullrequest中的pullrequest通过merge将两人的代码合并。以上就是git的整体流程和基本操作。