背景
项目上传到gitlab远程仓库后,方便项目的管理。不可避免需要开发新功能,这时候需要将项目的最新内容提交更新并覆盖远程仓库上的版本,保证远程仓库的版本是最新的版本。如果大家对git一点都不了解的话建议看看我的另一篇文章:Git命令实现Android项目初次上传到Git
简述
这里我只修改项目中某个类里面的内容,然后将修改后的版本提交到远程仓库并进行覆盖更新。下面来跟我一起实现。
具体做法
其实做法很简单,我这里简单的说明一下。
首先将你的最新版本提交到本地仓库主分支上;然后将远程仓库的项目拉取一份到本地仓库的临时分支上;然后在主分支上进行合并操作,与临时分支进行合并,合并后的主分支上的版本就是最新版本;最后将主分支上的内容push推送到远程仓库,推送成功后此时远程仓库就是最新的版本了。
上面就是使用git命令提交的做法。
实现步骤
- 先看一下远程仓库下MainActivity.java的内容,如下所示:
- 打开项目在这个类中添加一点新的内容,如下:
然后在电脑上找到你的项目,把项目复制粘贴到本地仓库里,如下所示:
选中项目的内容,复制
将内容复制粘贴到本地仓库
这里简单说明一下,本地仓库文件夹里面有一个.git隐藏文件夹,这里我将隐藏文件设置为了可见,故大家可以看见。
- 在本地仓库文件夹下右键,选择git bash here打开git命令窗口用来提交项目。如下:
- 输入命令
git branch -a
该命令表示:显示所有分支,包括本地和远程。如下所示:
- 输入命令
git add .
该命令表示:添加所有修改到暂存区。如下所示:
- 输入命令
git commit -m "本次提交说明"
该命令表示:一次性把暂存区所有文件修改提交到仓库的当前分支。注意:提交信息可为中文也可为英文,若为英文则通常用一般现在时。如果不加参数 -m 则会跳转到编辑器强制填写提交说明信息。如下所示:
命令输到这里,就完成了将项目内容提交到了本地的master分支上,接下来我们将远程仓库的项目拉取一份暂存到本地分支temp。
- 输入命令
git fetch origin master:temp
该命令表示:将远程仓库的master分支的代码拉取一份到本地仓库的temp分支上。这时候会提示你输入你的用户名,用户名输入按下回车后会弹出提示框提示你输入密码。输入密码然后点击ok按钮即可。如下:
这时候继续查看所有的分支,如下:
可以看到多了一个temp分支,这个分支上的项目就是刚刚从远程仓库上拉取的。
- 输入命令
git merge temp
该命令表示:合并temp分支到当前所在的分支(当前是master分支)。如下:
输入命令按下回车后提示:Already up-to-date.表示合并成功了。接下来就是将合并后的分支的内容推送到远程仓库上。
- 输入命令
git push
该命令表示:推送本地修改到 origin。当然也需要输入你的用户名和密码进行验证。如下:
这里提示: ddc722c..de66004 master -> master,就表示推送成功了。下面我们看看远程仓库的版本是不是最新版,如下:
可以看到确实是提交成功了,远程仓库上的项目就是最新提交的版本。不过还没有完,原来我们新建的temp分钟还存在,但是现在我们不需要它了,那么我们就去删掉它。等需要的时候再创建即可。
- 输入命令
git branch -d temp
该命令表示:普通删除分支(相对强制删除而言)。一般情况下,先合并完分支,然后再删除,否则会删除失败,除非使用 -D 参数强制删除。注意:因为创建、合并和删除分支非常快,所以 Git 鼓励使用分支完成某个任务,合并后再删除分支,这个直接在 master 分支上工作效果是一样的,但过程更安全。如下所示:
到这里关于更新版本提交的内容就讲完了,继续保持好奇心学习。
Git相关内容链接
===============================================================================