提交代码:如何把修改后的代码提交到远程仓库

学习如何将代码提交到版本库记录中,并将提交记录推送到远程仓库中。

1、同步远程代码

在提交代码之前需要先拉取服务器端代码,让本地仓库保持最新的版本记录。

目的是为了防止当我们提交代码之后,出现推送到远端出现代码冲突问题。

拉取远程代码命令

git pull

pull 拉、拖

➜  play-spring-family-ssh git:(master) git pull
Already up to date.

将远程代码拉取到本地仓库。

2、检查改动文件

当我们通过git pull命令把远端最新的代码拉下来之后,建议使用git status检查一下有哪些文件被改动了

git status

文件状态有下面这几种:

  1. Untracked: 未跟踪,一般为新增文件,此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
  2. Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作.
  3. deleted: 文件已删除,本地删除,服务器上还没有删除.
  4. 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如何提交代码到远程仓库的更多相关文章

  1. 【git】提交代码到远程仓库

    看完不用,就是一个字:忘! 之前学了两天git结果今天要用的时候,啥也想不起来.... 场景: 已有远程仓库: git@192.168.1.1:test/test.git 要提交代码到远程仓库的新分支 ...

  2. github本地提交代码到远程仓库

    1.git工作状态: Workspace: 工作区  :等于平时放代码的地方 Index / Stage: 暂存区,临时存放你的改动,它只是一个文件,保存即将提交到文件列表信息 Repository: ...

  3. git第一次提交代码到远程仓库

    博客搬家了,本文新地址:http://www.zicheng.net/article/4 感谢支持 本操作说明是先有代码,后来创建git仓库,然后把本地代码提交到远程仓库的操作步骤: 1.初始化 在当 ...

  4. Git 提交代码到远程仓库

    Git 命令 一.Git如何把本地代码推送到远程仓库 1. 拉取指定分支代码 git clone -b dev https://github.com/crazyfzw/RecycleViewWithH ...

  5. git提交代码到远程仓库

    1.仓库初始化 git init 2.连接仓库 git remote add origin 仓库地址 3.查看状态 git status 4.将文件添加到暂存区 git add 状态里的新文件 5.将 ...

  6. 使用Git上传代码到远程仓库

    1.进入文件夹,cd f:/test/ 2.初始化远程仓库,git init 3.添加代码,git add . (注意add后面的点前面有一个空格) 4.提交代码到远程仓库,git commit -m ...

  7. Git push 提交代码到远程global user.name错误解决办法

    问题:安装了Git-1.9.4-preview和TortoiseGit等工具后,Git服务器开通了账号和密码并配置了邮箱.克隆了服务器代码到本地,按需求进行代码开发.提交本地代码到服务器时出现错误.具 ...

  8. git——更新分支、提交代码、切换分支、合并分支

    还是直接贴教程吧:https://git-scm.com/book/zh/v2 如何把本地idea上的项目上传到github上:https://www.cnblogs.com/gougouyangzi ...

  9. git提交拉取远程仓库

    https://gitee.com/ ---- 国内服务器 https:/github.com/ ---- 国外服务器 git init  ---- 初始化(创建主分支)仓库 git clone 拉取 ...

随机推荐

  1. java web简单的对数据库存数据

    1.建立一个表,分别有Coursename,teachername,Place,Id;这些数据跟sql语句中的相对应 2.在src包目录下创建这些类 3.在WebContent目录下创建jsp,Mai ...

  2. 00-JAVA语法基础

    1. 原码为数的二进制数,反码是将其二进制数每一位按位取反.补码则不同,正数的补码是其原码本身,负数的补码是其除符号位以外其他每一位按位取反再加一,符号位不变. int a=100; a=a>& ...

  3. JavaScript中遍历的几种方法

    1.while循环 while后面跟循环条件和执行语句,只要满足条件,就会一直执行里面的执行 var i = 0 while(){ console.log(i) i++ } 2.do...while循 ...

  4. java基础:方法的定义和调用详细介绍,方法同时获取数组最大值和最小值,比较两个数组,数组交换最大最小值,附练习案列

    1. 方法概述 1.1 方法的概念 方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 注意: 方法必须先创建才可以使用,该过程成为方法定义 方法创建后并不是直接可 ...

  5. EXCEL2010分成多个窗口的,解决单个窗口显示多个文档的弊病

    本操作需要修改注册表,请在修改之前导出要修改的项目以备份. 1.定位到[HKEY_CLASSES_ROOT\Excel.Sheet.12\shell\Open],导出保存.展开Open,将ddeexe ...

  6. 理解Tomcat工作原理

    WEB服务器 只要Web上的Server都叫Web Server,但是大家分工不同,解决的问题也不同,所以根据Web Server提供的功能,每个Web Server的名字也会不一样. 按功能分类,W ...

  7. python实现AES/DES/RSA/MD5/SM2/SM4/3DES加密算法模板汇总

    都是作者累积的,且看其珍惜,大家可以尽量可以保存一下,如果转载请写好出处https://www.cnblogs.com/pythonywy 一.md5加密 1.简介 这是一种使用非常广泛的加密方式,不 ...

  8. 发起一个开源项目:基于 .NET 的博客引擎 fluss

    今天我们发起一个开源项目,它的名字叫 fluss,fluss 是 river 的德语. 百川归海,每一个博客就如一条河流,输入的是文字,流出的是知识,汇入的是知识的汪洋大海. 川流不息,fluss 是 ...

  9. logback日志对象要素

    <logger>节点 分两种 1.是普通日志对象 logger分为2种,一种是普通日志对象,另一种是根日志对象.对于大部分应用来说,只设置根日志对象即可. 在java日志系统中,无论是lo ...

  10. 关于Maven项目pom.xml文件不报错却有红叉的问题

    原因:spring-boot,升级到2.1.5版本,而maven-jar-plugin.version插件默认版本不兼容所以报错,但不影响运行 解决:在<properties></p ...