【Git】5、Git如何提交代码到远程仓库
提交代码:如何把修改后的代码提交到远程仓库
学习如何将代码提交到版本库记录中,并将提交记录推送到远程仓库中。
1、同步远程代码
在提交代码之前需要先拉取服务器端代码,让本地仓库保持最新的版本记录。
目的是为了防止当我们提交代码之后,出现推送到远端出现代码冲突问题。
拉取远程代码命令
git pull
pull 拉、拖
➜ play-spring-family-ssh git:(master) git pull
Already up to date.
将远程代码拉取到本地仓库。
2、检查改动文件
当我们通过git pull
命令把远端最新的代码拉下来之后,建议使用git status
检查一下有哪些文件被改动了
git status
文件状态有下面这几种:
- Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
- Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
- deleted: 文件已删除,本地删除,服务器上还没有删除.
- renamed:文件名称被改变
Q:如果我们编辑了某一个文件,但实际上并不想改变它?怎么办呢?
A:可以使用git checkout 文件名
来撤销更改。
git checkout README.md
撤销后,可以使用git status
进行查看变动,查看是否将文件的修改回滚成功。
操作一波
我先来修改下README.md文件
➜ play-spring-family-ssh git:(master) cat README.md
# play-spring-family
玩转Spring全家桶
➜ play-spring-family-ssh git:(master) vim README.md
➜ play-spring-family-ssh git:(master) ✗ cat README.md
# play-spring-family
玩转Spring全家桶
1-初识spring
➜ play-spring-family-ssh git:(master) ✗
检查文件哪些被修改了
➜ play-spring-family-ssh git:(master) ✗ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use "git add" and/or "git commit -a")
➜ play-spring-family-ssh git:(master) ✗
3、添加文件到缓存
将需要提交的文件添加到暂存区中,添加文件到暂存区可以指定添加文件或目录,或者一次性添加全部改动到缓存。
指定添加文件或目录到缓存命令
git add File or directory
例如:
git add README.md
上面这条命令是把README.md
这个文件提交到暂存区中去,提交后使用git status
可以看到它的变化,原本 README.md 红色变成了绿色。
如果你想一次性添加所有文件,那么可以把命令这样写git add .
,执行后结果如下所示:
➜ play-spring-family-ssh git:(master) ✗ git add.
git: 'add.' is not a git command. See 'git --help'.
The most similar command is
add
➜ play-spring-family-ssh git:(master) ✗ git add .
➜ play-spring-family-ssh git:(master) ✗
也可以git add -A
,比git add .
多了提交删除操作
4、提交代码
当我们将所需要提交的代码都添加到缓存区域后,接下来就是将代码提交到本地仓库中,命令如下 :
git commit . -m “这是备注信息”
上面命令中的.
是代表选择所有的文件或目录,我们也可以提交指定某一个文件,将.
换成相应的目录或文件名即可。
➜ play-spring-family-ssh git:(master) ✗ git commit . -m '初识spring'
[master 88f4fdb] 初识spring
1 file changed, 2 insertions(+), 1 deletion(-)
➜ play-spring-family-ssh git:(master)
此时我们再次使用git status
进行查看改动文件,会发现没有文件改动列表;
因为我们之前已经将改动的文件都提交到版本记录中了;而git status
是基于提交的代码最后一个版本比较的,当你提交后,两个区域的文件内容一致,所以就显示没有改动。
➜ play-spring-family-ssh git:(master) ✗ git add .
➜ play-spring-family-ssh git:(master) ✗ git commit . -m '初识spring'
[master 88f4fdb] 初识spring
1 file changed, 2 insertions(+), 1 deletion(-)
➜ play-spring-family-ssh git:(master) git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
➜ play-spring-family-ssh git:(master)
5、推送代码
当代码提交之后,在本地的工作就已经完成了,此时为了让其他人拉取你的代码,通常还需要将代码推送到远程仓库,命令如下:
git push
命令执行后,结果所下:
Github远程仓库也改变了
搞定把修改后的代码提交到远程仓库
6、我的整个流程
我的流程
我要将代码提交到版本库记录中,并将提交记录推送到远程仓库中。
首先我的Github远程仓库比我的本地仓库多了1-Acquaintance-Spring文件目录
我想把Github远程仓库1-Acquaintance-Spring文件目录拉取到我的本地
使用命令git pull
拉取远程仓库到本地
检查改动文件git status
我修改了下README.md文件,我想把我修改的文件推送的远程仓库。
添加文件到缓存git add README.md
或者 一次性添加所有文件,命令git add .
提交代码 需要提交的代码都添加到缓存区域后,接下来就是将代码提交到本地仓库中,命令如下 :
git commit . -m “这是备注信息”
当代码提交之后,在本地的工作就已经完成了,再将代码推送到远程仓库,推送代码命令
git push
6、小结
学习了怎么将改动的代码提交到本地版本中,以及提交之后如何推送到远端服务器,
1、要将代码推送到远程仓库(服务器)一般五个步骤:
更新 git pull
检查git status
暂存 git add .
提交git commit . -m “这是备注信息”
推送git push
2、注意
git status
命令是查看工作区的文件修改状态,是与本地仓库的最后一个commit记录进行对比,不是远程的版本。
暂存区 本地仓库 远程仓库
Git 提交代码可以选择全部提交或者部分提交,全部提交可以用.
替代,部分提交则输入目录名或文件名
3、提交代码到本地仓库之后还需要使用git push
命令把代码推送到远程服务器
4、要多多练习命令行,熟悉命令行之后速度会比客户端操作效率提高很多(感觉到了)。
5、将代码提交到远程仓库中,通常只需要两条命令即可,首先是提交到本地,然后再将本地的记录推送到远端。但在实际工作中,为了防止本地仓库和远程仓库出现冲突,一般先让把远程代码同步到本地代码,让本地代码保持最新,然后再提交改动到本地,最后进行推送。
7、参考资料
1、专栏 - Git原理详解与实操指南 简单记录 笔记
【Git】5、Git如何提交代码到远程仓库的更多相关文章
- 【git】提交代码到远程仓库
看完不用,就是一个字:忘! 之前学了两天git结果今天要用的时候,啥也想不起来.... 场景: 已有远程仓库: git@192.168.1.1:test/test.git 要提交代码到远程仓库的新分支 ...
- github本地提交代码到远程仓库
1.git工作状态: Workspace: 工作区 :等于平时放代码的地方 Index / Stage: 暂存区,临时存放你的改动,它只是一个文件,保存即将提交到文件列表信息 Repository: ...
- git第一次提交代码到远程仓库
博客搬家了,本文新地址:http://www.zicheng.net/article/4 感谢支持 本操作说明是先有代码,后来创建git仓库,然后把本地代码提交到远程仓库的操作步骤: 1.初始化 在当 ...
- Git 提交代码到远程仓库
Git 命令 一.Git如何把本地代码推送到远程仓库 1. 拉取指定分支代码 git clone -b dev https://github.com/crazyfzw/RecycleViewWithH ...
- git提交代码到远程仓库
1.仓库初始化 git init 2.连接仓库 git remote add origin 仓库地址 3.查看状态 git status 4.将文件添加到暂存区 git add 状态里的新文件 5.将 ...
- 使用Git上传代码到远程仓库
1.进入文件夹,cd f:/test/ 2.初始化远程仓库,git init 3.添加代码,git add . (注意add后面的点前面有一个空格) 4.提交代码到远程仓库,git commit -m ...
- Git push 提交代码到远程global user.name错误解决办法
问题:安装了Git-1.9.4-preview和TortoiseGit等工具后,Git服务器开通了账号和密码并配置了邮箱.克隆了服务器代码到本地,按需求进行代码开发.提交本地代码到服务器时出现错误.具 ...
- git——更新分支、提交代码、切换分支、合并分支
还是直接贴教程吧:https://git-scm.com/book/zh/v2 如何把本地idea上的项目上传到github上:https://www.cnblogs.com/gougouyangzi ...
- git提交拉取远程仓库
https://gitee.com/ ---- 国内服务器 https:/github.com/ ---- 国外服务器 git init ---- 初始化(创建主分支)仓库 git clone 拉取 ...
随机推荐
- js生成随机数、随机数列、数值转金融格式
随机数的生成:min到max之间,包括两者自身 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-mi ...
- Electron安装打包指南
当前环境Debian Linux-Deepin 安装Node 直接下载 命令下载 下载 wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linu ...
- 【ubuntu-18.04】ubuntu18.04进行Nvidia显卡配置
转自https://blog.csdn.net/qq_37935670/article/details/80377196 2.显卡驱动配置 网上有些攻略非常非常复杂,又要禁用nouveau驱动,又要进 ...
- html2canvas使用心得
近两年做了几次微信H5活动的开发,为了达到传播分享的效果,通常最终都需要生成个性化的图片,供用户长按保存分享,在这里就把自己的一些使用心得记录下来,供其他小伙伴借鉴. 这里备注一下,我目前用的是 h ...
- vue第十七单元(电商项目逻辑处理,电商划分)
第十七单元(电商项目逻辑处理,电商划分) #课程目标 1.什么是电商项目 2.什么是B2B,B2C,C2C模式,常见的电商项目 3.移动端电商项目常见的逻辑处理 4.[知识扩展]传统系统架构及分布式系 ...
- angular8 大地老师学习笔记---第八课
/*ViewChild获取dom节点 1.模板中给dom起一个名字 <div #myBox> 我是一个dom节点 </div> 2.在业务逻辑里面引入ViewChild imp ...
- 测试提bug及出现漏测情况时的注意点
提bug注意(此为公司开发提出的建议): 开发如果改bug影响导致另一个问题,原bug没有问题,尽量重新提bug,不要直接激活,因为可能不是同一个问题导致的: 不要一个bug里提多个问题,因为不同 ...
- 华为Mate20 Adb驱动失败
今天拿到同事一台华为Mate20,准备装个包,结果发现adb一直 no devices,AndroidStudio当然也显示 no connected devices 开发者模式也打开了,USB调试也 ...
- Python开发的面试准备
1.is和==的区别: is比较的是id,对象的内存地址 = =比较的是值 2.按字典中的value值进行排序 sorted(dict.items(), key = lambda x: x[1]) 3 ...
- .NET5 API 网关Ocelot+Consul服务注册
1|0网关介绍 网关其实就是将我们写好的API全部放在一个统一的地址暴露在公网,提供访问的一个入口.在 .NET Core下可以使用Ocelot来帮助我们很方便的接入API 网关.与之类似的库还有Pr ...