Git向仓库提交代码三步走详解(add、commit、push)

Written by

in

文章目录
  • 使用 git add命令将想要快照的内容写入缓存区,执行 git commit将缓存区内容添加到仓库中,执行 git push用于从将本地的分支版本上传到远程并合并。 基本概念:我们先来理解下Git 工作区、暂存区和版本库概念 工作区:就是你在电脑里能看到的目录。 暂存区:英文叫 stage, 或 index。一般存放在 “.git目录下” 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。 如下图所示:
  • 使用 git add命令将想要快照的内容写入缓存区, 而执行 git commit将缓存区内容添加到仓库中。 Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。 git config –global user.name ‘XXXX’ git config –global user.email XXXXXXXXX@qq.com 账号信息通过如下途径可以获得: https://gitee.com 创建版本库(仅用于第一次) git init 接下来我们写入缓存,并提交对 test.php 的所有改动。 在首个例子中,我们使用 -m 选项以在命令行中提供提交注释。 递归将本目录下所有文件 git add . git commit -m ‘初始化项目’ 2 files changed, 2 insertions(+) create mode 100644 README create mode 100644 test.php 现在我们已经记录了快照。如果我们再执行 git status: git status # On branch master nothing to commit (working directory clean) 以上输出说明我们在最近一次提交之后,没有做任何改动,是一个"working directory clean:干净的工作目录"。 如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认(Linux)会打开 vim。 直接提交 如果你觉得 琐,Git 也允许你用 -a 选项跳过这一步(git add 提交缓存的流程太过繁)。 命令格式如上: git commit -a
  • 本地仓库与远程仓库连接(首先回到gitee仓库页面,复制https链接) 远程仓库连接 git remote add origin 刚才复制的https链接 强制推送 将远程仓库拉到本地仓库git版本控制(远程仓库为空可跳过) git pull –rebase origin master 本地仓库的代码传到远程仓库 git push -u origin master 如果弹出gitee的登录窗口登录即可 回到gitee仓库页面刷新一下即可看到代码已经上传完成了 如果你发现有文件夹或者目录一直未上传(即使修改了) 请检查:.gitignore 如何强制删除本地的所有更改? 如果你想要强制删除本地的所有更改(包括未提交的更改、暂存的更改以及本地分支上的提交),并将远程分支的最新版本同步到本地,你可以按照以下步骤操作: 备份你的工作:首先,确保你保存了所有重要的更改,因为以下步骤将会丢弃它们。 清理工作目录:如果你有任何未提交的更改,你可以通过git stash将它们保存起来,稍后可以再恢复。但如果你想要丢弃这些更改,可以使用git reset –hard。 git stash save “My stash message” # 如果你想要保存更改 git reset –hard # 如果你想要丢弃更改
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: git提交报错pre -commit hook failed (add –no-verify)问题及解决 git add -A 和 git add . 的区别详解 Gitlab如何回滚到某个commit Git在IDEA中合并多个commit为一个 在Git中撤回最近的commit的多种方式小结 idea中设置文件不进行git commit问题及解决 Git中没有commit直接pull,导致自己代码被干掉的解决过程
  • 目录
    • Git 工作区、暂存区和版本库概念
    • Git向仓库提交代码git commit
    • 本地分支版本上传到远程git push
    • 总结

    使用 git add命令将想要快照的内容写入缓存区,执行 git commit将缓存区内容添加到仓库中,执行 git push用于从将本地的分支版本上传到远程并合并。

    基本概念:我们先来理解下Git 工作区暂存区版本库概念

    • 工作区:就是你在电脑里能看到的目录。
    • 暂存区:英文叫 stage, 或 index。一般存放在 “.git目录下” 下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
    • 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

    如下图所示:

    • 使用 git add命令将想要快照的内容写入缓存区, 而执行 git commit将缓存区内容添加到仓库中。
    • Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。
    git config --global user.name 'XXXX'
    git config --global user.email XXXXXXXXX@qq.com
    

    账号信息通过如下途径可以获得:

    https://gitee.com

    创建版本库(仅用于第一次)

    git init
    
    • 接下来我们写入缓存,并提交对 test.php 的所有改动。
    • 在首个例子中,我们使用 -m 选项以在命令行中提供提交注释。
    • 递归将本目录下所有文件
    git add .
    
    git commit -m '初始化项目'
    
     2 files changed, 2 insertions(+)
     create mode 100644 README
     create mode 100644 test.php
    
    • 现在我们已经记录了快照。如果我们再执行 git status:
    git status
    
    # On branch master
    nothing to commit (working directory clean)
    
    • 以上输出说明我们在最近一次提交之后,没有做任何改动,是一个"working directory clean:干净的工作目录"。
    • 如果你没有设置 -m 选项,Git 会尝试为你打开一个编辑器以填写提交信息。 如果 Git 在你对它的配置中找不到相关信息,默认(Linux)会打开 vim。

    直接提交

    如果你觉得 琐,Git 也允许你用 -a 选项跳过这一步(git add 提交缓存的流程太过繁)。

    命令格式如上:

    git commit -a

    本地仓库与远程仓库连接(首先回到gitee仓库页面,复制https链接)

    • 远程仓库连接
    git remote add origin 刚才复制的https链接 
    

    • 强制推送
    • 将远程仓库拉到本地仓库git版本控制(远程仓库为空可跳过)
    git pull --rebase origin master
    
    • 本地仓库的代码传到远程仓库
    git push -u origin master
    
    • 如果弹出gitee的登录窗口登录即可

    回到gitee仓库页面刷新一下即可看到代码已经上传完成了

    如果你发现有文件夹或者目录一直未上传(即使修改了)

    请检查:.gitignore

    如何强制删除本地的所有更改?

    如果你想要强制删除本地的所有更改(包括未提交的更改、暂存的更改以及本地分支上的提交),并将远程分支的最新版本同步到本地,你可以按照以下步骤操作:

    • 备份你的工作:首先,确保你保存了所有重要的更改,因为以下步骤将会丢弃它们。
    • 清理工作目录:如果你有任何未提交的更改,你可以通过git stash将它们保存起来,稍后可以再恢复。但如果你想要丢弃这些更改,可以使用git reset –hard。
    git stash save "My stash message"  # 如果你想要保存更改
    
    git reset --hard                   # 如果你想要丢弃更改
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

    您可能感兴趣的文章:

    • git提交报错pre -commit hook failed (add –no-verify)问题及解决
    • git add -A 和 git add . 的区别详解
    • Gitlab如何回滚到某个commit
    • Git在IDEA中合并多个commit为一个
    • 在Git中撤回最近的commit的多种方式小结
    • idea中设置文件不进行git commit问题及解决
    • Git中没有commit直接pull,导致自己代码被干掉的解决过程

    站内搜索