Git更新代码

article/2025/11/6 17:54:50

目录

1. 初次运行 Git 前的配置

用户信息

2. 拉取仓库代码

3. 提交代码

4. 版本回退

4.1 本地分支版本回退的方法

4.2 自己的远程分支版本回退的方法

4.3 区别:git checkout -- file  与  git reset -- file 命令

5. git restore 和 git restore --staged 的区别

5.1 git restore

5.2 git restore --staged

6. 本地关联远程分支

7. git submodule的简单介绍


1. 初次运行 Git 前的配置

查看所有的配置以及它们所在的文件:

git config --list --show-origin

用户信息

安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。

pull/push免密设置

进入到自己的home目录,执行以下命令后,在.gitconfig文件中生成credential

git config --global credential.helper store

 原理:凭证存储

在使用Git进行开发的时候,我们可以使用ssh方式或者http url方式来进行源码的clone/push/pull,如果你使用的是 SSH 方式连接远端,并且设置了一个没有口令的密钥,这样就可以在不输入用户名和密码的情况下安全地传输数据。 然而,这对 HTTP 协议来说是不可能的 —— 每一个连接都是需要用户名和密码的。

Git 拥有一个凭证系统来处理这个事情, Git 的选项:

  • 默认所有都不缓存。 每一次连接都会询问你的用户名和密码。
  • “cache”模式:会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除
  • “store” 模式:会将凭证用明文的形式存放在磁盘中,并且永不过期。 这意味着除非你修改了你在 Git 服务器上的密码,否则你永远不需要再次输入你的凭证信息。 这种方式的缺点是你的密码是用明文的方式存放在你的 home 目录下

2. 拉取仓库代码

  • 拉取Gitlab项目:git clone git@github.com:google/re2.git
  • 进行项目:cd re2/
  • 查看所有分支:git branch -a
  • 在本地创建和远程分支对应的分支,使用:
  • git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
  • 建立本地分支和远程分支的关联,使用:
  • git branch --set-upstream branch-name origin/branch-name  // the '--set-upstream' option is no longer supported
    git branch --set-upstream-to=origin/remote_branch your_branch

    git pull 拉取分支,更新分支内容

(删除远程jingjing分支:git push origin --delete jingjing)

3. 提交代码

第一步:
如果分支(将此分支暂命名为dev)有修改,则先提交修改的内容,如果没有,直接跳到第二步

git commit -m “fix bug”

第二步:
切换到master分支下

git checkout master

第三步:
将远程的master代码pull到本地

git pull

扩展:强制拉取

git pull --force origin merge_code:merge_codegit pull <远程主机名> <远程分支名>:<本地分支名>
1、将与本地当前分支同名的远程分支 拉取到 本地当前分支上(需先关联远程分支,方法见文章末尾)
git pull2、将远程指定分支 拉取到 本地当前分支上:
git pull origin <远程分支名>3、将远程指定分支 拉取到 本地指定分支上:
git pull origin <远程分支名>:<本地分支名>推荐使用第二种	

第四步:
切换到dev分支下

git checkout dev

第五步:
合并master到dev分支

git merge master

如果在合并的过程中,提示Test.java文件出现冲突了,手动修改一下这个文件,修改成自己想要内容;如果没有出现冲突,直接跳到第八步

第六步:
添加修改的文件

git add email/Test.java

第七步:
将新添加的文件提交上去

git commit -m “merge master”

第八步:
将本地分支的代码push到远程仓库对应的分支上

git push origin dev

1.将本地当前分支 推送到 与本地当前分支同名的远程分支上(需先关联远程分支,方法见文章末尾)
git push2.将本地当前分支 推送到 与本地当前分支同名的远程分支上
git push origin <本地分支名>3.将本地当前分支 推送到 远程指定分支上
git push origin <本地分支名>:<远程分支名>推荐使用第二种

将本地分支的代码强制push到远程仓库对应的分支上

git push origin email_parser:email_parser --force

第九步:

在GitLab界面提交merge新请求


4. 版本回退

4.1 本地分支版本回退的方法

如果你在本地做了错误提交,那么回退版本的方法很简单
先用下面命令找到要回退的版本的commit id:

git reflog

接着回退版本:

git reset --hard Obfafd

0bfafd就是你要回退的版本的commit id的前面几位

4.2 自己的远程分支版本回退的方法

如果你的错误提交已经推送到自己的远程分支了,那么就需要回滚远程分支了。
首先要回退本地分支:

git reflog
git reset --hard Obfafd

紧接着强制推送到远程分支:

git push -fgit push origin dev:dev --force

注意:本地分支回滚后,版本将落后远程分支,必须使用强制推送覆盖远程分支,否则无法推送到远程分支

远程仓库版本回退方法--Git(二) - 知乎

4.3 区别:git checkout -- file  与  git reset -- file 命令

git checkout -- index.html 拉取暂存区文件 并将其替换成工作区文件

git checkout email/email_parser.cc email/server.cc 

5. git restore 和 git restore --staged 的区别

5.1 git restore

git restore <file>

表示将在工作空间但是不在暂存区的文件撤销更改

5.2 git restore --staged

git restore --staged <file>

作用是将暂存区的文件从暂存区撤出,但不会更改文件

6. 本地关联远程分支

git branch --set-upstream-to origin/merge_code

7. git submodule的简单介绍

        在软件开发过程中,通常我们会遇到有一些通用的部分希望抽取出来做成一个公共库的情况,比如安卓和IOS都通用的H5页面。而公共代码库的版本管理是个麻烦的事情。幸运的是,万能的Git有个叫子模组(git submodule)的命令完美地帮我们解决了这个问题。

        如runtime工程下的build_tools


http://chatgpt.dhexx.cn/article/WssfPnN1.shtml

相关文章

CS224W课程学习笔记(四):node2vec算法原理与说明

引言 什么是图嵌入&#xff1f; 我想从上节的deepwalk中已经有一个十分完整的轮廓了&#xff0c;这里引出deepwalk论文中的一张很形象的图&#xff08;当然&#xff0c;上节的一些实战演练&#xff0c;也将这种嵌入关系进行了模拟与可视化&#xff0c;前文为&#xff1a;&…

08-Node.js—nvm

目录 1、介绍2、使用2.1 下载安装2.2 常用命令2.2.1 nvm list available2.2.2 nvm list2.2.3 nvm install 18.12.12.2.4 nvm install latest2.2.5 nvm uninstall 18.12.12.2.6 nvm use 18.12.1 参考 1、介绍 nvm 全称 Node Version Manager 顾名思义它是用来管理 node 版本的工…

笔记︱基于网络节点的node2vec、论文、算法python实现

看到一个很有意思的算法&#xff0c;而且腾讯朋友圈lookalike一文中也有提及到&#xff0c;于是蹭一波热点&#xff0c;学习一下。论文是也发KDD2016 . . 一、主要论文&#xff1a;node2vec: Scalable Feature Learning for Networks 本节引用自 a、微博洪亮劼 &#xff1a…

论文阅读:node2vec: Scalable Feature Learning for Networks

node2vec: Scalable Feature Learning for Networks 摘要 基于网络中节点和边的预测任务中的特征工程总是很麻烦的。虽然表示学习的自动学习特征已经有很大的帮助&#xff0c;但现有的特征学习方式无法对网络中连接模式的多样性进行足够的捕捉。 node2vec是本论文提出的一种…

node2vec笔记

node2vec论文&#xff1a;https://dl.acm.org/citation.cfm?id2939754 node2vec作者KDD口头报告视频&#xff1a;https://www.youtube.com/watch?v1_QH5BEP5BM node2vec是deepwalk的一个扩展&#xff0c;主要考虑了两点&#xff1a;(1)邻近性&#xff0c;即节点在图上的距离…

图嵌入 Node2Vec

文章目录 图嵌入之 Node2Vec1 两个概念2 两种节点采样方法3 Node2Vec 中的二阶 Random Walk3.1 Random Walks 的定义3.2 搜索偏置 α \alpha α 4 二阶 Random Walk 的优势5 算法步骤 图嵌入之 Node2Vec 论文地址 https://arxiv.org/pdf/1607.00653.pdf 对 Random Walk 中随机…

node2vec的一些思考

概述 论文主要观点 本文将抽取网络中节点的特征转化成最优化一个“可能性”目标函数问题&#xff0c;这个“可能性”是该节点可以保存其邻居节点的信息。 成果 node2vec&#xff0c;如上述&#xff0c;利用SGD优化&#xff0c;高效“随机选择邻居”算法&#xff0c;可让node2v…

Node(二)

一、node的文件系统 1、二进制文件的读写&#xff08;按字节读写&#xff1a;一个字节是8个二进制位&#xff09; &#xff08;1&#xff09;读二进制文件 fs.read(fd&#xff0c;buffer&#xff0c;offset&#xff0c;length&#xff0c;position&#xff0c;callback) fd…

【论文精读】node2vec: Scalable Feature Learning for Networks

node2vec: Scalable Feature Learning for Networks 可扩展的 图嵌入 表示学习算法 可扩展&#xff1a;算法可用于互联网规模级别的数据&#xff0c;在有限的时间和空间中 图嵌入&#xff1a;将图的连接信息嵌入到连续、低维、稠密的D维空间中 表示学习&#xff1a;用数据驱…

Graph Embedding(DeepWalk,LINE,Node2vec)

为什么要对图进行嵌入&#xff1f; 直接在这种非结构的&#xff0c;数量不定&#xff08;可能数目非常多&#xff09;&#xff0c;属性复杂的 图 上进行机器学习/深度学习是很困难的&#xff0c;而如果能处理为向量将非常的方便。但评价一个好的嵌入需要&#xff1a; 保持图属…

深度学习 - 33.GraphEmbedding Node2vec 图文详解

一.引言 前面介绍了如何生成带权的图: GraphEmbedding - networkx获取图结构 从带权的图随机游走生成序列: GraphEmbedding - DeepWalk 随机游走 embedding 向量的评估与可视化: GraphEmbedding - embedding 向量的降维与可视化 以及复杂度O(1)的采样算法 Alias: GraphEmbe…

Node2Vec算法介绍

大家好&#xff0c;我是Linzhuo&#xff0c;今天又来给大家分享graph embedding的相关知识啦。 在上一篇文章中&#xff0c;我们介绍了graph embedding的经典方法&#xff1a;Deepwalk&#xff0c;其通过随机游走(Random walk)的方式将Graph embedding与Word embedding的方法(w…

KDD 2016 | node2vec:Scalable Feature Learning for Networks

目录 前言Abstract1.IntroductionPresent work 2.Related Work3.Feature Learning Framework3.1 Classic search strategies3.2 node2vec3.2.1 Random Walks3.2.2 Search bias α \alpha α3.2.3 The node2vec algorithm 3.3 Learning edge features 4.Experiments4.1 Case St…

PyG基于Node2Vec实现节点分类及其可视化

文章目录 前言一、导入相关库二、加载Cora数据集三、定义Node2Vec四、定义模型五、模型训练六、可视化完整代码前言 大家好,我是阿光。 本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphS…

浅析 v-node

浅析 v-node &#x1f308; 本节我们来探索一下虚拟DOM&#xff0c;将会从以下4个方面进行阐述&#xff1a; 虚拟DOM的本质虚拟DOM的优势虚拟DOM转换真实DOM 过程虚拟DOM树 diff算法 虚拟DOM的本质 ⭐️虚拟DOM 本质上是一个 js 对象&#xff0c;用于描述页面的结构&#x…

deepwalknode2vec 代码实战

提示&#xff1a;笔记内容来自于B站up主同济子豪兄 文章目录 1. Embedding嵌入的艺术2. deepwalk2.1. 什么是图嵌入&#xff1f;2.2. deepwalk的步骤1、生成graph&#xff1b;2、利用random walk生成多个路径&#xff1b;3、训练表示向量的学习&#xff1b;4、为了解决分类个数…

Node2Vec

Node2Vec 论文名称&#xff1a;node2vec: Scalable Feature Learning for Networks 论文地址&#xff1a;https://www.kdd.org/kdd2016/papers/files/rfp0218-groverA.pdf Node2Vec是用于学习网络节点的连续特征表示。node2vec将节点映射为低维特征表示&#xff0c;最大化网…

node2vec python 实现和理解

1. 安装 pip install node2vec 2. 使用案例 import networkx as nx from node2vec import Node2Vec# Create a graph 这里可以给出自己的graph graph nx.fast_gnp_random_graph(n100, p0.5)# Precompute probabilities and generate walks - **ON WINDOWS ONLY WORKS WITH …

node2vec的一些理解

node2vec node2vec也是一种网络嵌入的表示方法&#xff0c;它是基于DeepWalk的基础上进行改进的。主要改进的地方在于它在随机游走的过程中加入了一个权重&#xff0c;使得游走可以采用深度优先和广度优先的策略进行游走。 Search bias α 使得随机游走产生片偏差的最简单的…

从word2vec到node2vec

word2vec 1. 什么是word2vec 在自然语言处理任务&#xff08;NLP&#xff09;中&#xff0c;最细粒度是词语&#xff0c;所以处理NLP问题&#xff0c;首先要处理好词语。 由于所有自然语言中的词语&#xff0c;都是人类的抽象总结&#xff0c;是符号形式的。而对于数学模型&a…