zoukankan      html  css  js  c++  java
  • 【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
    

    文件状态有下面这几种:

    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原理详解与实操指南 简单记录 笔记

  • 相关阅读:
    WPF快速入门系列(4)——深入解析WPF绑定
    HDU 1047 Integer Inquiry 大数相加 string解法
    uva 10452 Marcus
    PHP在浏览器上跟踪调试的方法以及使用ChromePhp、FirePHP的简介
    Xamarin iOS开发实战第1章使用C#编写第一个iOS应用程序
    TQ2440 学习笔记—— 1、Windows平台下开发工具安装与环境建立
    Android之——jni通用工具方法
    [Erlang危机](5.1.4)端口port
    uva 10765 Doves and Bombs(割顶)
    js坑爹笔试题目汇总(持续更新中)
  • 原文地址:https://www.cnblogs.com/liuawen/p/12854045.html
Copyright © 2011-2022 走看看