Git 更新操作

java成功操作GIT进行克隆和更新,Java获取git的分支 1. 我自己就用了几个可以,其它的没有测试 2. testClone 、gitPull亲测可以 import org.eclipse.jgit.api.CloneCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jg... 阅读详情

修改现有函数

Tom 执行克隆操作后,看到新的文件string.c,他想知道这个文件到存储库?目的是什么?于是,他执行 git 日志命令。

[tom@CentOS ~]$ git clone gituser@git.server.com:project.git

上面的命令会产生以下结果。

Initialized empty Git repository in /home/tom/project/.git/
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
Receiving objects: 100% (6/6), 726 bytes, done.
remote: Total 6 (delta 0), reused 0 (delta 0)

克隆操作将当前的工作目录内创建新的目录。他改变目录到新创建的目录和执行 git日志命令。

[tom@CentOS ~]$ cd project/

[tom@CentOS project]$ git log

上面的命令会产生以下结果。

commit d1e19d316224cddc437e3ed34ec3c931ad803958
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:05:26 2013 +0530

Changed return type of my_strlen to size_t


commit 19ae20683fc460db7d127cf201a1429523b0e319
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 07:32:56 2013 +0530

Initial commit

查看记录后,他意识到,string.c 文件加入Jerry 实现基本字符串操作。他是好奇Jerry 的代码。于是他打开文本编辑string.c 文件,并立即找到了一个漏洞。 my_strlen函数中 Jerry 没有使用常量指针。于是,他决定修改Jerry 的代码。修改后的代码会这个样子。

[tom@CentOS project]$ git diff

上面的命令会产生以下结果。

diff --git a/string.c b/string.c
index 7da2992..32489eb 100644
--- a/string.c
+++ b/string.c
@@ -1,8 +1,8 @@
#include 
-size_t my_strlen(char *s)
+size_t my_strlen(const char *s)
{
- char *p = s;
+ const char *p = s;
while (*p)
++p;

经过测试,他提交他的变化。

[tom@CentOS project]$ git status -s
M string.c
?? string

[tom@CentOS project]$ git add string.c

[tom@CentOS project]$ git commit -m 'Changed char yiibaier to const char yiibaier'
[master cea2c00] Changed char yiibaier to const char yiibaier
1 files changed, 2 insertions(+), 2 deletions(-)

[tom@CentOS project]$ git log

上面的命令会产生以下结果。

commit cea2c000f53ba99508c5959e3e12fff493b
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 08:32:07 2013 +0530

Changed char yiibaier to const char yiibaier


commit d1e19d316224cddc437e3ed34ec3c931ad803958
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:05:26 2013 +0530

Changed return type of my_strlen to size_t


commit 19ae20683fc460db7d127cf201a1429523b0e319
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 07:32:56 2013 +0530
Initial commit

Tom 使用git push命令,推他的变化。

[tom@CentOS project]$ git push origin master

上面的命令会产生以下结果。

Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 336 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To gituser@git.server.com:project.git
d1e19d3..cea2c00 master −> master

添加新函数

与此同时,Jerry 决定实现字符串比较函数。于是,他修改string.c文件。修改后的文件会这个样子。

[jerry@CentOS project]$ git diff

上面的命令会产生以下结果。

index 7da2992..bc864ed 100644
--- a/string.c
+++ b/string.c
30Git Tutorials
@@ -9,9 +9,20 @@ size_t my_strlen(char *s)
return (p -s );
}
+char *my_strcpy(char *t, char *s)
+{
+
char *p = t;
+
+ while (*t++ = *s++)
+ ;
+
+
return p;
+}
+
int main(void)
{
int i;
+
char p1[32];
char *s[] = {
"Git tutorials",
"Tutorials Yiibai"
@@ -20,5 +31,7 @@ int main(void)
for (i = 0; i < 2; ++i)
printf("string lenght of %s = %lu
", s[i], my_strlen(s[i]));
+
printf("%s
", my_strcpy(p1, "Hello, World !!!"));
+
return 0;
}

经过测试,他准备推他的变化。

[jerry@CentOS project]$ git status -s
M string.c
?? string

[jerry@CentOS project]$ git add string.c

[jerry@CentOS project]$ git commit -m "Added my_strcpy function"
[master e944e5a] Added my_strcpy function
1 files changed, 13 insertions(+), 0 deletions(-)

push操作之前,他验证通过查看日志信息提交。

[jerry@CentOS project]$ git log

上面的命令会产生以下结果。

commit e944e5aab74b26e7447d3281b225309e4e59efcd
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:41:42 2013 +0530

Added my_strcpy function


commit d1e19d316224cddc437e3ed34ec3c931ad803958
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:05:26 2013 +0530

Changed return type of my_strlen to size_t


commit 19ae20683fc460db7d127cf201a1429523b0e319
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 07:32:56 2013 +0530

Initial commit

Jerry 为变化感到高兴,他想推他的变化

[jerry@CentOS project]$ git push origin master

上面的命令会产生以下结果。

To gituser@git.server.com:project.git
! [rejected]
master −> master (non-fast-forward)
error: failed to push some refs to 'gituser@git.server.com:project.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.

但是,Git 是不允许Jerry 推他的变化。因为Git确定该远程仓库和Jerry 的本地资源库不同步。正因为如此,他可能会失去项目的历史。因此,为了避免这种混乱的Git 对此操作失败。Jerry 必须首先更新它的本地存储库,然后再只有他才能把他自己的变化。

取最新变化

Jerry 执行git pull命令远程命令来同步自己的本地仓库。

[jerry@CentOS project]$ git pull

上面的命令会产生以下结果。

remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From git.server.com:project
d1e19d3..cea2c00 master −> origin/master
First, rewinding head to replay your work on top of it...
Applying: Added my_strcpy function

抽取操作后Jerry 检查日志消息,并找到 Tom 的提交详细,提交ID为 cea2c000f53ba99508c5959e3e12fff493ba6f69

[jerry@CentOS project]$ git log

上面的命令会产生以下结果。

commit e86f0621c2a3f68190bba633a9fe6c57c94f8e4f
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:41:42 2013 +0530

Added my_strcpy function


commit cea2c000f53ba99508c5959e3e12fff493ba6f69
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 08:32:07 2013 +0530

Changed char yiibaier to const char yiibaier


commit d1e19d316224cddc437e3ed34ec3c931ad803958
Author: Jerry Mouse <jerry@yiibai.com>
Date: Wed Sep 11 08:05:26 2013 +0530

Changed return type of my_strlen to size_t


commit 19ae20683fc460db7d127cf201a1429523b0e319
Author: Tom Cat <tom@yiibai.com>
Date: Wed Sep 11 07:32:56 2013 +0530
Initial commit

现在,Jerry 的本地存储库是完全同步的远程仓库。所以,他可以放心地将他的变化。

[jerry@CentOS project]$ git push origin master

上面的命令会产生以下结果。

Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 455 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To gituser@git.server.com:project.git
cea2c00..e86f062 master −> master

项目实践总结(持续更新中):git操作指南 ------------例:git fetch origin release-15.0.0, git reset --hard origin/release-15.0.0。-------------再次提交相同的代码文件,若要确保COMMIT ID不变:git commit --amend。-------------例:git pull origin r/release/11.1.1。-------------首次提交修改的代码 直接 git commit,再加提交信息。 阅读详情

相关推荐

Claude Skills:不是更聪明,而是更“像专家”的 Agent 养成方法

Claude Skills 不是在告诉 Agent“你能做什么”, 而是在约束它“你应该如何思考、如何判断、如何给结论”。

测试者家园 1295

使用git更新代码

在上一篇Git工具快速入门中,我们知道了如何从远程仓库下载代码,以及如何将一个项目文件推送到远端仓库,那么当远端仓库发生更新时,我们拉取下的代码仍然是原来的仓库代码,这时我们又要如何更新我们本地的代码呢?如图所示我们在远端仓库新建一个文件。 点击提交后,此时在仓库中就更新刚创建的文件。 而在我们之前从远端仓库拉取的仍然是之前的文件目录,并没有发生更新: 此时就需要我们进行更新,从远端仓库拉取新代码/文件。在此目录下右键单击,打开,输入指令即可。 如图所示,就在本地更新完成了。当在远端仓库更改了一些代码

苏凉.py的博客 2万+

【Excel VBA 编程】表格内自动生成进度条

在表格中生成进度条,进度条需要自适应单元格的宽度,根据不同进度区间变换颜色,并且按照进度数据大小显示其长短

wei1019的专栏 1519

Git更新代码

第一步: 如果分支(将此分支暂命名为dev)有修改,则先提交修改的内容,如果没有,直接跳到第二步 git commit -m “fix bug” 第二步: 切换到master分支下 git checkout master 第三步: 将远程的master代码pull到本地 git pull 第四步: 切换到dev分支下 git checkout dev 第五步: 合并master到dev分支 git merge master 如果在合并的过程中,提示Test.java文件出现冲突了,手动修

满腹的小不甘 2万+

保姆级教程:在DolphinScheduler 3.x中配置Apache SeaTunnel任务(Flink/Spark双引擎)

本文提供了一份详细的教程,指导如何在DolphinScheduler 3.x中配置Apache SeaTunnel任务,支持Flink和Spark双引擎。从环境准备、脚本选择到配置文件编写和任务调度优化,涵盖了所有关键步骤和常见问题解决方案,帮助用户高效集成SeaTunnel到海豚调度系统中。

weixin_42524945的博客 194

SAP ERP 物料主数据同步外围系统

w_input-beskz = i_marc_new-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-beskz = lw_marc-beskz."采购类型 " BESKZ--- ADD BY HX_FHJ 20210106。w_input-sobsl = i_marc_new-sobsl."特殊采购类型-虚拟物料标识。

ChampaignWolf的专栏 1747

git pull与update project

每个人都有惰性,但不断学习是好好生活的根本,共勉!

感谢阅读 2770

USLE模型(1.2):LS因子的计算

基于USLE的甘南川西北土壤侵蚀研究。准备好30米分辨率的dem。

所有专家都曾始于新手 3481

git fetch和update project的使用

(1)git fetch git fetch在这里: 使用情景:当别人上传自己的分支到git远程,但是你在本地这里看不到的时候 可使用git fetch,之后就能看到对方推上去的分支了。 (2)update project update project在这里: 使用情景:当你使用git pull拉取远程代码而发生冲突的时候,使用update project命令可打...

boy_chen93的博客 1万+

R 语言 ggplot2 绘制精美高级全球地图

在本教程中,我们将学习如何使用R语言和ggplot2包绘制精美高级地图。ggplot2是一个功能强大的数据可视化包,它可以让我们创建漂亮、交互式的地图。我们将使用R中的一些其他包来处理地理空间数据,以便与ggplot2无缝协作。

Mrrunsen的博客 1867

YOLOv5 自定义模型 Android 部署完整指南

本文详细介绍了将YOLOv5模型部署到Android设备的完整流程,包含三个核心部分:首先验证官方模型测试,确保基础环境配置正确;随后进行模型转换,从PyTorch导出ONNX格式并优化,再转换为NCNN格式;最后在Android项目中集成自定义模型,包括文件替换、参数修改和代码适配。教程基于YOLOv5 6.1版本,使用NCNN框架进行移动端推理,涵盖了常见问题解决方案和关键配置要点,为开发者提供了从训练到部署的完整技术路线。

FJN110的博客 592

用Git更新代码或者项目文件(二)

更新完本地项目后 1.git clone 2.git add . 3.git push

weixin_50920579的博客 3693

【STM32 Blue Pill编程】-STM32CubeIDE开发环境搭建与点亮LED

本文为使用 STM32Cube IDE 的 STM32 Blue Pill 入门教程。 在本文中,我们将介绍如何控制 STM32 Blue Pill 的 GPIO 引脚。以及开发环境搭建。 本系列文章将重点介绍采用 ARM Cortex-M 的 BluepellSTM32F103C8 微控制器以及如何使用 STM32CubeIDE 对其进行编程。 STM32CubeIDE是STM32官网提供的IDE

视觉与物联智能 1070

GIT 更新操作

#### git fetch和git pull说明: 1)git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中 2)git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决 ####git pull 命令 1)更新操作 git pull <远程主机名> <远程分支名>:&...

Leiante的专栏 5102

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

git更新代码及相关操作

git更新代码 克隆自己仓库的代码 如果已经克隆则增加远程原始主库分支到本地 仓库地址: git remote add raid_master git@xxx.git git remote add xxx_master ssh://git@xxx.git 如果已增加远程分支,直接fetch原始分支 git fetch xxx_master 合并两个版本 git merge x...

wendowswd的博客 3853

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Git提交代码,更新代码(Git基本常用操作,Git常用命令)

一,Git提交代码,更新代码 1,初始化 git init 2,连接到服务器 git remote add origin ssh://git@server.bontor.cn:12299/VESCS/vescs.git 3,查看是否连接到服务器 git config -l 4,拉取远程dev分支到本地dev git pull origin dev:dev(git pull orig...

龚道松 8760

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用git命令实现对gitee仓库的下载、更新、上传、上传更新操作。

如果你放弃修改这个文件就用discard changes(因为有时候会出现别人修改了,你也改了,但是他改的比你快,比你好,那你就放弃修改这个文件吧。#git本地库连接远程版本库,这一步会有对应输入账号和密码的操作(配置过SSH公钥就没有了)作用:对更新的说明,我是git add 一个文件,就git commit 一次,它会列出你修改的文件以及你新增的文件(删除的文件我还没试过)作用:上传文件,这步完成就可以在gitee上看见更新了。仓库的下载、更新、上传、上传更新操作。参数然后再重新 push 一次即可。

qq_65186476的博客 1832

Idea集成Git的操作步骤以及Idea上使用Git提交、更新项目

Idea集成Git的操作步骤以及Idea上使用Git提交、更新项目 1,工具准备 Idea的下载、安装和使用 具体操作步骤和使用说明,请查看我的博客:idea的使用以及常用快捷键 Git的下载、安装和使用 具体操作步骤和使用说明,请查看我的博客:Git的使用以及常见命令 2,Idea集成Git步骤 1,点击idea页面的File —> Settings 2,搜索框输入Git,找到G...

偏偏爱吃梨的博客 5007

Git命令执行从gitee下载、更新、上传、上传更新操作

博客内容为使用git命令实现对gitee仓库的下载、更新、上传、上传更新操作。 1、下载(检出) 使用 git clone 命令 + 项目仓库地址 eg: git clone https://gitee.com/zzzzzed/ChinessChess.git 如果本地已经下载了该项目则跳过该步骤。 注意使用 git clone 首次检出需要输入用户名及密码。 2、上传代码 1、创建项目,项目名称要与上传文件夹名称相同(执行程序访问方便) 2、在对应现有项目,鼠标右击,出现如图: 选择Git Bash H

Schaffer的博客 1万+

git 小乌龟 更新分支_git的基本操作

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。Git有很多优势,其中之一就是远程操作非常简便。本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作。git clonegit remotegit fetchgit pullgit push本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解。同时,本文覆盖了上面5个命令...

weixin_39970994的博客 1230

Git本地拉取更新及远程上传(Git GUI/Git Bash常用操作)

本地拉取远程仓库 $ git pull origin(远程仓库名) master(分支名) 本地新建目标空文件夹,在上一级启动Git GUI 连接远程仓库: git bash: git remote add origin https://github.com/wy0918/haitun.git git gui: remote-add Name: 自定义目标仓库名 Location:...

努力努力再努力w 7945

git 更新操作

git add . git commit -m "..." git pull origin master git push origin master

tikitakaka的博客 797

Git常用的操作指南,提交,合并,更新

Git常用的操作指南,提交,合并,更新 git status : 查看自己本地分支的修改内容 其中红色部分为自己的修改内容 git add : git add . 是提交所有的修改到缓存区中 git add (文件路径)是提交一个修改文件到缓存区中,可以通过git status 查看,你看绿色就显示已经保存到缓存区中了, git commit -m “”: “” 内输入对修改的说明,提交到版本库 git push : 把修改推到git上 更新代码 git checkout :切换分支,git.

Li丶Chong的博客 596

Git仓库拉取及更新操作记录

本文记录Git仓库拉取及更新操作流程。完整拉取步骤包括:克隆仓库、安装commit-msg钩子、切换开发分支及验证配置。更新操作提供三种方法:无本地修改直接pull;有修改需保留时stash后pull;需放弃修改时checkout重置。操作后需验证提交日志、分支状态及代码差异。配置正确时,git status应显示"Your branch is up to date with 'origin/dev_15'"。

Geosen_Jira的博客 514

更新github指定文件以及git创建分支操作

更新github指定文件 首先在先前提交的文件中,更新要提交的文件 git add filename(要更新的文件名) git commit -m 'Update filename' git remote rm origin git remote add origin 地址 git pull origin main // 没有这一步容易出错 git push origin main 参考: 更新github项目 git推送更新出错 ...

像我这样的人 486

从远程更新下来别人提交更新的代码git相关操作

**************************************************************** ==从远程更新下来别人提交更新的代码: 本地切换到主分支master:$ git pull origin (从远程将代码拉下来) 再切换到开发分支dev: $ git checkout dev 将主干master的代码更新到dev:$ git merge master...

qq_25361331的博客 1239
上一篇: git pull
下一篇: Git 执行更改 git commit
ichsonx
博客等级 码龄19年 202粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值