git项目管理,这些就够了

2023-11-09

环境:ubuntu16.04

参考:https://baijiahao.baidu.com/s?id=1621620608602705821&wfr=spider&for=pc

           https://www.cnblogs.com/Sharley/p/6133721.html

一、本地仓库管理:

1、首先切换(进入)到你的项目目录

cd your_project/

2、本地库初始化

 git init

3、设置签名

作用:区分不同开发人员的身份。

说明:这里设置的签名和登录远程库(代码托管中心)的账户没有关系。

1)、项目级别签名:

git config user.name "your_name"
git config user.email your_email@xx.com

查看签名信息位置:

cat .git/config

2)、系统级别签名:

git config --global user.name "your_name"
git config --global user.email your_email@xx.com

查看签名信息位置:

cd ~ 
cat .gitconfig

4、基本操作

1)、查看状态:

git status       //查看工作区、暂存区的状态

2)、添加操作:

git add 文件名   //将工作区新建/修改的内容添加到暂存区
git add .       //把所有文件加入到暂存区

3)、提交操作:

git commit -m “commit message” 文件名    //将暂存区的内容提交到本地库,不指定文件名表示提交所以文件

4)、查看历史记录

git log
git log --pretty=oneline
git log --oneline
git reflog (HEAD@{移动到当前版本需要多少步})

5)、前进和后退

git reset --hard 哈希索引值     //基于索引值的操作(推荐做法)
git reset --hard HEAD^        //使用^符号(只能后退,一个^表示后退一步)
git reset --hard HEAD~2       //使用~符号(只能后退,n表示后退n步)

6)、比较文件差异

git diff [文件名] (将工作区中的文件和暂存区的进行比较)
git diff [本地库历史版本] [文件名] (将工作区中的文件和本地库历史记录比较,不带文件名的话,会比较多个文件)

5、分支管理

在版本控制过程中,使用多条线同时推进多个任务。

1)、分支的优势

a)、同时并行推进多个功能开发,提高开发效率。

b)、各个分支在开发过程中,如果某个分支开发失败,不会对其他分支有影响,失败的分支可以删除,然后重新开始即可。

2)、分支常用命令

git branch -v                //查看本地库中的所有分支
git branch dev               //创建一个新的分支
git branch -d dev            //删除指定分支
git push origin --delete dev   //删除远程分支
git checkout dev             //切换分支
git checkout -b dev          //创建一个新的分支,并切换分支

3)、分支合并 

git checkout master     //切换到接收修改的分支
git merge dev           //执行merge命令

切换分支后,在dev分支中做出的修改需要合并到被合并的分支master上.

6、冲突解决

1)、原因

当一个分支的内容和另一个分支的内容不同时,此时任一分支合并另一分支过程中就会出现冲突。因此自己分支对应的模块不能随意更改其他分支的模块。

2)解决

a)、编辑文件,删除特殊符号。

b)、将文件修改完毕后,保存退出。

c)、git add [文件名]。

d)、git commit –m “日志信息”。

7、项目管理流程

一、服务器仓库管理

有时候我们需要将自己编写好的本地代码上传到服务器,和服务器的主程序进行merge。这是就需要搭建git服务器。

1、Gogs简介
Gogs 是一款极易搭建的自助 Git 服务。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

2、搭建Gogs

参考:https://blog.csdn.net/qq_20492999/article/details/80422231

3、使用Gogs

1)、注册账号

2)、创建一个repository

3)、 创建本地ssh-key

ssh-keygen -t rsa

 4)、查看自己的密钥

cat /home/bw/.ssh/id_rsa.pub

5)、把秘钥添加到git服务器

添加之后就可以无障碍访问git服务器。

6)、找到自己的新建的工程,有一个简单的教程

另外,如果要从服务器取回与本地合并需要用到pull

比如,要取回origin主机的next分支,与本地的master分支合并,需要写成下面这样 -

git pull origin next:master

如果远程分支(next)要与当前分支合并,则冒号后面的部分可以省略。上面命令可以简写为:

git pull origin next


 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git项目管理,这些就够了 的相关文章

  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • Git-svn:批量删除孤立的远程分支

    我正在处理的 SVN 项目 通过 git svn 有经常创建的分支 然后与主干重新集成 然后删除 现在项目大约有10个分支没有被删除 但是在git中 gitbranch r显示大约有50个 我可以一次删除这些 检查它们是否仍然存在于 svn
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • GCC 详细模式输出解释

    我是 Linux 新手 谁能向我解释一下我的 hello world 程序的以下详细模式输出 另外 这些文件是做什么用的crt1 o crti o crtend o crtbegin o and crtn o and lc and lgcc
  • Git 和重定向

    我注意到 当 git html 项目页面如下所示 https github com fruux sabre dav 被克隆 以这种方式 git clone https github com fruux sabre dav 实际生成的远程 U
  • 为什么 cmake 在 git commit 后编译所有内容

    假设我有时在 Linux 上使用 cmake 2 8 编译一段代码 我更改了一个文件 my changed file 运行 cmake 并且只构建了这个文件 到目前为止 一切都很好 现在我想提交这个 git add my changed f
  • 如何从 git 存储库中删除作者?

    如果我创建一个 Git 存储库并公开发布它 例如在 GitHub 等上 并且我收到存储库贡献者的请求 无论出于何种原因删除或隐藏他们的名字 有没有一种方法可以轻松做到这一点 基本上 我有这样的请求 可能想将他们的姓名和电子邮件地址替换为 匿
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • Git 用户配置文件 - 自定义忽略

    我们有一个由 5 名开发人员组成的团队致力于硬件项目 我们有一个 user config h 文件 其中包含每个用户的特定环境和偏好的 defines 例如他们使用的硬件版本 是否应该打开声音等 目前 该文件位于我们的 gitignore
  • 每个虚拟主机的错误日志?

    在一台运行 Apache 和 PHP 5 的 Linux 服务器上 我们有多个带有单独日志文件的虚拟主机 我们似乎无法分离 phperror log虚拟主机之间 覆盖此设置
  • 将存储库从 Github 移至 Gitlab

    有没有办法将整个存储库从 Github 移动到 GitLab 对于代码本身来说 只需在 GitLab 上创建一个新的存储库并推送到它即可 Wiki 页面位于 Github 上的单独分支中 并通过 Git 机制进行管理 据我所知 GitLab
  • 詹金斯钩子不工作 - 詹金斯位桶

    您好 我正在使用 jenkins 和 bitbucket 当我向 bitbucket 存储库提交任何内容时 我想触发 jenkins 中的构建 在詹金斯 我创建了一个名为test 1 在配置部分Build Triggers我勾选的部分Tri
  • Eclipse git checkout(又名恢复)

    是否可以做相当于git checkout在 Eclipse 中使用 Egit 插件 我有一个已修改的文件 我想放弃更改并将文件恢复到源存储库中的内容 在 Subversion 中 这称为恢复 在 git 中 相当于 checkout 我在团
  • 自给定提交以来 git 中的作者列表

    我想要一种列出所有 git 作者的方法 仅自给定提交以来 是独特的 这两个很简单 我在网上看到过一些解决方案 大多数使用git log format 但我看到的都不符合附加要求 按提交日期排序 因此 如果约翰 史密斯 John Smith
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 在 emacs 的文件中不断出现的这些 ^M 是什么?

    我认为这可能与 TextMate 有关 但我们在一个小团队中工作 并且在 git 中几乎相同的文件的全文件冲突方面遇到了一些问题 在一个分支中 文件的每一行都附加了 M 这是什么神秘的事 M角色应该做什么 它从哪里来 我们的开发人员在 Wi
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对

随机推荐

  • PC机(笔记本)安装Linux系统

    五年前买的联想ThinkPad E531 配置非常低非常低 实在是卡的不行 做个word都想砸了它的冲动 最近想开始学习Linux 发现好多建议初学者在Windows下装虚拟机 这样虽好 但感觉好麻烦 简单粗暴点 直接装个Linux系统 1
  • 管理端-角色设置

    本文是关于无纸化会议系统管理端角色设置的操作 本界面使用html css js进行开发 使用Vue框架和ElementUI进行辅助开发 管理员上传完文件之后 进入到角色设置界面 角色设置界面主要是给参加会议的每个角色设置文件权限以及分配会议
  • 人工智能环境搭建

    前言 2016年 人工智能自AlphaGo战胜世界著名围棋九段选手李世石后大火 人类首次感受到人工智能的强大和前所未有的危机 各大IT企业纷纷布局人工智能 准备开启新一轮的产业革命 本文就来讲一讲人工智能开发环境的搭建 即Ubuntu的Li
  • Object.hasOwn 低版本浏览器兼容性问题解决

    使用 hasOwn 去测试属性是否存在 报错如下 原因 hasOwn是es2022新语法 旧浏览器不支持 解决方案 使用Object hasOwnProperty 代替 Object prototype hasOwnProperty cal
  • 随机森林算法

    转载自 http www zilhua com 629 html 1 随机森林使用背景 1 1 随机森林定义 随机森林是一种比较新的机器学习模型 经典的机器学习模型是神经网络 有半个多世纪的历史了 神经网络预测精确 但是计算量很大 上世纪八
  • QGIS 加载WMS数据,重新投影

    1 加载WMS数据 点击需要的栅格数据 注意这里的投影是EPSG 3857 实际需要转换成WGS84 EPSG 4326 一个简单的方法 先在QGIS加载一个shp 投影方式为WGS84 再加载栅格数据 点击set project CRS
  • 告别尬聊,觅伊迎来Z世代青年的社交新世界

    什么是Z世代 从定义上看 Z世代泛指出生在1995年到2005年前后的人群 根据相关数据统计 目前我国 Z世代 年轻人多达2 64亿人 约占我国人口总数的19 因为基数较大 所以在许多从业者的眼中 Z世代作为未来互联网的主力人群 是所有产品
  • docker-swarm ui shipyard部署

    shipyard 搭建 参考网址 https shipyard project com docs deploy https juejin im entry 588940fc2f301e0069b2397d 下载shipyard相关的镜像 为
  • OpenGL学习笔记三(编译着色器)

    运行着色器程序 ps 大部分出自 LearnOpenGL 上一篇 OpenGL学习笔记二 着色器 说到什么是着色器 如何写着色器 这次我们要开始运行我们写好的着色器代码了 着色器程序的创建与C C 程序的创建相似 首先你需要编写着色器程序文
  • C++的宏观与微观

    宏观世界是由微观世界所组成 这是亘古不变的道理 C 同样是这样 如果说生物是由原子组成的 那么C 就是由对象模型组成的 对象模型就相当于原子模型 对象模型的变化和互相联系形成了目前C 一切的特性 再说C 宏观 C 的宏观表现为面向对象 由此
  • Java并发编程系列 - Java内存模型

    Java并发编程 可见性 原子性 有序性 Java内存模型如何解决可见性 有序性 并发问题产生的根源 可见性 原子性 有序性 可见性 Java内存模型的主要目标是定义程序中变量的访问规则 即在虚拟机中将变量存储到主内存或者将变量从主内存取出
  • git从本地仓库提交到远程仓库过程教学

    前提 本地安装了git并且注册了gitee的前提下 教大家如何关联远程仓库 上传本地项目到开源社区 1 先在远程创建个仓库 创建成功 2 在本地项目右键点击Git Bash Here 执行git init初始化本地仓库 3 将本地仓库和远程
  • Ubuntu搭建Pytorch环境(Anaconda、Cuda、cuDNN、Pytorch、Python、Pycharm、Jupyter)

    Ubuntu搭建Pytorch环境 Anaconda Cuda cuDNN Pytorch Python Pycharm Jupyter 一 配置镜像源 安装必要环境 二 Anaconda的下载 安装 卸载及环境配置 1 下载Anacond
  • SpringBoot框架

    目录 1 1 简介 1 2 特性 1 3 四大核心 2 springboot入门案例 2 1 SpringBoot 项目开发步骤 2 2 创建一个 Spring MVC 的 Spring BootController 2 3 分析 2 4
  • 如何从0到1做一次完整的安全测试

    大家好 我是馨馨 一个混过大厂 待过创业公司 有着6年工作经验的软件测试妹纸一枚 近期针对公司项目做了一次完整的安全测试 扫描出来了不少漏洞 价值还挺大的 回顾整个流程 并没有特别复杂的点 小林星球这里程序员还挺多 想着分享下我的实战感悟
  • python -图例设置

    1 使用方法 方法1 ax legend line1 line2 line3 label1 label2 label3 方法2 line1 ax plot 1 2 3 label label1 line2 ax plot 1 2 3 lab
  • swift4.0 项目中的随机校验码(验证码)

    在开发中注册的时候移动端要求我们获取随机校码 完整代码 class CodeView UIView var changeString String 验证码的字符串 let kLineCount 6 let kLineWidth CGFloa
  • Anaconda入门基本操作

    文章目录 1 配置环境变量 2 基础操作 2 1 activate 2 2 创建自己的虚拟环境 2 3 切换环境 3 安装 卸载第三方包 4 查看环境包信息 5 导入导出环境 6 删除环境 慎用 7 总结当前命令 1 配置环境变量 如果是w
  • 数据仓库实施

    文章目录 一 数据分析挖掘过程 1 数据获取 2 数据处理 3 数据建模 4 模型评价 5 数据可视化 二 ETL过程 1 数据特征 2 过程描述 3 ETL 1 数据抽取 2 数据清洗 3 数据转换 4 数据加载和索引 4 kettle
  • git项目管理,这些就够了

    环境 ubuntu16 04 参考 https baijiahao baidu com s id 1621620608602705821 wfr spider for pc https www cnblogs com Sharley p 6