为什么推荐科研工作使用git

2023-10-26

为什么推荐科研工作使用git

每个人都会犯错,而使用Git 的最大好处就在于,几乎在所有的情况下你都能“撤消” 你的错误操作。比如如果你忘记了把一个小小的改动包含进来,因此你要改正你的上个提交。又或者你想要撤销一个完整的提交,因为这个功能有可能是不必要的。当发生了很严重的错误时,你甚至可以通过恢复引用日志来让一个提交不可见。

我一开始使用git干什么事情

一开始是用来保存我的matlab代码,有时候做实验的时候,一改动函数就忘了之前改了哪里,这让人很烦恼!

后面用github作为静态服务器,再买了一个域名,搭建了自己的第一个博客。再后来,全面转向了python,天天写代码。过去一年提交了1879次,一周基本有6天是在写代码的,我其实放假挺多的(暂时不是996),只是放假后也会坐下来,写下代码。

git与github的关系

git和github的关系是:github是基于git的一个仓库托管平台;GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub,而Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。

你还可以选择国内的仓库托管平台:gitee、coding等。

开始-使用github的一些步骤、教程

具体的教程,网上很多!

以下是我记录的一些步骤,忘记的话,我就会看下这些步骤。

设置git的用户名和密码

点击开始菜单》git-bash打开命令窗口,输入下列命令,将双引号中内容替换成自己的用户名和密码。

git config --global user.name "你的名字"git config --global user.email "你的邮箱"

创建本机的ssh Key

在git Bash窗口中输入下列命令,创建本电脑的ssh Key

ssh-keygen -t rsa -C "你的邮箱"

输入后一路回车。

注意这段代码里有一个文件地址:/c/Users/Administrator/.ssh/,这个就是SSH Key文件夹了,打开文件夹找到id_rsa.pub,用记事本打开它,复制下来。

在github账号中填写公钥

按照下图步骤,依次点击Setting》SSH and GPG keys进入SSH Key设置页面

这台电脑就可以向github提交代码了。

在github中创建仓库

点击New repository进入仓库创建页面,然后填写仓库名称,其他内容可不填,直接保存

点击New SSH key新增SSH keys,title可以随意填写,Key填写刚刚复制的内容,然后保存。

将本地仓库与github仓库关联

在本地新建一个文件夹,和github仓库名称一致。 然后选中本地仓库文件夹,右键选择git Bash打开git命令窗口。使用git init命令初始化,在本地工作区中创建一个git隐藏目录。 然后使用如下命令即可关联,注意将origin后面的地址换成你自己的github地址。

git remote add origin git@github.com:xxxxx.git

提交代码

为了检验是否能正常提交,可在文件夹中放入一个txt测试文件。 git有一个工作区和暂存区。工作区就是我们在电脑上看见的文件夹,工作区有一个隐藏的目录.git,这个是版本库。版本库中分为暂存区和master分支。提交代码的时候,我们需要先将工作区的代码提交到暂存区,再从暂存区同步到master分支。 所以第一步使用git add命令将本地工作区的文件添加待提交的文件。git add .表示添加文件夹中的所有文件,一般都是用这个命令一次性添加。 接下来使用git commit -m"描述文字"将添加的文件提交到暂存区。 最后,使用git push origin master同步到github远程仓库。

以后每次提交代码,只需重复以下命令:

git add .git commit -m"提交描述"git push origin master

第一次使用git的push命令时,会出现如下警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.RSA key fingerprint is xx.xx.xx.xx.xx.Are you sure you want to continue connecting (yes/no)?

这是github的安全验证,直接输入yes即可,下次就不会有提示了。

GIT 常用命令(参考)

github优劣

github优点:

很多好的项目是开源的,都放在了github,方便去学习观摩

github缺点(对个人):

1.国内访问速度太慢,经常出现connect time-out

2.不能很好的解决GB2312/GBK,对中文不够友好

今天简单安利一下git,科研是很适合用git的,先从简单的入手,遇到问题再去网上搜。

关注我,分享更多好玩、有用的东西!!

peace

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

为什么推荐科研工作使用git 的相关文章

  • 将git管理的子目录切换到子模块

    我们曾经在Rails应用程序中对delayed job进行了本地破解 位于vendor plugins delayed job中 它作为一次性事件安装并签入主应用程序存储库中的 git 现在我们决定在 github 上分叉 Delayed
  • Android Studio 3.1:代理配置:无法为git操作设置https用户密码

    我最近将 Android Studio 从 3 0 升级到了 3 1 在3 0中 我曾经在中设置代理配置gradle properties 全局属性 文件 其中包括设置systemProp https proxyPassword除其他外 但
  • 如何在 emacs 中禁用 vc-git?

    我使用 emacs 而不是 sshfs 和 git 存储库 我喜欢使用 git 命令行 因此对于这个项目我不需要启用 vc git 如何防止 vc git 加载 emacs命令 从 vc mode 处理的后端列表中删除 git delete
  • 尝试通过 SSH 克隆时“似乎不是 git 存储库”

    我有一台运行 Windows 10 的计算机 我想在其上托管 git 存储库 OpenSSH 正在运行 我可以通过 Powershell 通过 SSH 连接到机器 因此它是可连接的 我在该机器上名为 Test 的文件夹中创建了一个新的 gi
  • 使用 git 检出文件时如何找出导致文件权限更改的原因?

    将文件推送到我们的服务器后 将执行以下 post receive 挂钩 bin sh export GIT WORK TREE home user www git checkout f 然而 文件变得非常奇怪600权限和文件夹700结账时
  • 没有历史记录的 Git 存储库

    是否可以拥有一个没有历史记录的 Git 存储库 例如 我工作的地方有一个本地 Git 存储库 我想将最新版本推送到生产服务器 生产服务器上不应存储任何历史记录 我怎样才能做到这一点 你可以看看命令是否git archive http git
  • 找出哪些本地分支与远程不同步

    假设我有一个包含多个分支的 git 存储库 我怀疑有些分支没有被推到上游 或者已经过时 或者两者兼而有之 即分歧 有没有一种方法可以通过一个命令找出哪些分支与远程不同步 写一个脚本是可以的 但我想知道是否已经有这样的脚本 我已经做了一个脚本
  • 如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

    Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改 请参阅VIM 中的 DiffsInCommitMessage https www mercurial scm org wiki DiffsInCommit
  • 远程nodejs服务器部署永远

    我正在尝试通过提交后钩子在远程计算机上部署节点js服务器 该钩子将调用远程计算机上执行实际部署的脚本 我面临的问题是 如果我在计算机上运行远程脚本 它可以正常工作 但是当我尝试通过 ssh 命令执行相同的脚本时 服务器无法启动 这就是我的提
  • 如何避免 git-apply 更改行结尾

    我有一个 git repo 设置core eol crlf core autocrlf true and core safecrlf true 当我应用另一个补丁时crlf存储库和我的存储库中受影响文件的所有行结尾都更改为lf 目前我正在应
  • 为什么 git-cvsimport 缺少一个主要补丁集?

    这是后续我之前的一个问题 https stackoverflow com questions 683091 how do i debug git cvsimport cant see complicated commit 我可以查看 cvs
  • 如果我解决了冲突,Git 的责备会改变吗?

    我试图弄清楚合并冲突是否导致了错误 但我遇到了困难 因为我不清楚冲突解决如何影响git blame 假设我在 master 中有一个文件 a b c 我在master中修改 a d c 但同事也是如此 他们在一个单独的分支中以不同的方式对其
  • 允许 PR 构建验证构建而不发布工件

    我正在尝试在我们的主分支上为 PR 设置一些构建验证 我们正在使用 Git 和 VSTS 我添加了一些构建策略来根据已更改的文件启动各种构建 对于某些背景 我们在流程的早期创建 PR 以便我们可以在开发功能分支时跟踪更改并添加评论 现在 我
  • 从 JSON 模式动态创建表单 [Angular 8]

    我正在努力从 Angular 8 中的 JSON Schema 创建动态表单 我找到了一些库 但是一个很旧 https github com dschnelldavis angular2 json schema form 上次提交约 2 年
  • Git 推送失败(Github/RStudio)

    我过去曾在这台机器上成功使用过 Git 但突然间我无法再将我的提交推送到 Github 存储库 我对 Git 工具链所做的最后一次更改是除了 Windows 客户端的 Github 之外还安装了 Git 1 8 5 2 除非我已经启动了 G
  • 如何修复 git 存储库中的“错误日期”问题?

    我最近尝试将存储库导入 GitHub 来自 Bitbucket 但导入失败 GitHub 技术支持通知我 他们在存储库中看到 错误日期 问题 我应该运行git fsck在存储库上 所以我从 BitBucket 克隆它并运行git fsck这
  • git fetch 和 checkout FETCH_HEAD 的作用是什么?

    以下命令的作用是什么 git fetch
  • 发生未知错误:用户在 Xcode 13.3 上拒绝了 github.com (-17) 的证书

    我遇到了这个奇怪的错误 每次我尝试将本地 git 存储库推送到 Github 时 这个错误都会让我烦恼 希望有人能帮我解决这个奇怪的事情 我的工作环境 Xcode 13 3 就我而言 网络调试代理导致了这个问题 看来 Xcode 固定了 g
  • gitk:悬停时显示分支名称

    你能告诉我如何让 gitk 工具在悬停时显示分支名称或建议能够这样做的工具吗 gitk 显示分支缠结 其中分支是无名的 我必须猜测哪个是 master 哪个是 stable 等 在 gitk 窗口的左下半部分 有一个信息行指定Branche
  • 在 Google Cloud Functions 中安装私有 GitHub npm 包不起作用

    我正在尝试将微服务部署到 GCF 它依赖于私有 GitHub 托管的包 为了访问该包 我向该函数添加了一个 npmrc 文件 如下所述here https cloud google com functions docs writing sp

随机推荐

  • MySQL技术内幕InnoDB存储引擎 学习笔记 第六章 锁

    锁是数据库系统区别于文件系统的一个关键特性 锁机制用于管理对共享资源的并发访问 InnoDB引擎会对表数据上锁以提供数据的完整性和一致性 除此之外 还会对数据库内部其他多个地方使用锁 从而保证对多种不同资源提供并发访问 如增删改LRU列表中
  • 基于Centos7+pycharm搭建python获取爬虫小项目

    一 安装python环境 网上教程查阅 安装成功后运行 python 查看版本 python V 二 安装pycharm 应在步骤一完成后进行 到pycharm官网下载最新版本 下载链接 https www jetbrains com py
  • 详解 Springboot 中使用 Aop

    一 什么是 Aop AOP Aspect Oriented Programming 意为面向切面编程 可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术 AOP的编程思想是把对类对象的横切问题点 从
  • CentOS 修改时间

    Centos系统时间分为系统时间和硬件时间 二者必须都修改 重启系统才会永久生效 查询时间常用命令 date date R date z hwclock r 一 修改时区 修改时区 ln sf usr share zoneinfo Asia
  • XMind思维导图的结构逻辑该如何体现?3个功能完美体现!

    假设你在玩 模拟城市 但你必须使用以下工具来构建城市 中心主题 城市中心 关键思想 主要道路 次要的思想 次要的道路 标志 地标图片 那么你要怎么安排才能让城市结构附有逻辑性 让城市的规划更加合理 这就是我们将要讨论的问题 同样在我们的思维
  • 初始化列表的特性和构造函数的工作原理

    对于构造函数我们一直有个误区 就是构造函数用于初始化成员变量创建对象 实际上并不是这样的 真正的初始化并不是在构造函数中完成的 而是在初始化列表中完成的 构造函数中的实际上是赋值操作 要了解构造函数的工作原理 得先了解什么是初始化列表 初始
  • 快速达成目标的12种方

    2006 05 04 16 20 15 快速达成目标的12种方法 告诉自己你能主宰命运只有确立了前进的目标 一个人才会最大可能地发挥自己的潜力 主宰自己的命运 在你身上拥有钻石宝藏 美国宾夕法尼亚州著名学府坦普尔大学创始人康惠尔 在演讲中
  • 在superset中快速制作报表或仪表盘

    在中小型企业 当下需要快速迭代 快速了解运营效果的业务 急需一款开源 好用 能快速迭代生产的报表系统 老板很关心 BI工程师很关心 同时系统开发人员也同样关心 一个好的技术选型往往能够帮助公司减少很多成本 并且也不用BI或软件开发同事为了快
  • FRP运行过程中发现的安全漏洞,没有办法修复

    最近经常发送frp搭建外网访问内网不稳定 经过多次排查发现一个可怕的漏洞 这些 goroutines 结束之前正在等待一个 channel 关闭 而这个 channel 永远不会关闭 一个常见的死锁问题 这个进程毫无任何理由吃掉了 90 的
  • Hive Order By、Sort By、Distrbute By、Cluster By区别

    1 Order By 全局排序 只有一个Reducer 2 Sort By 分区内有序 3 Distrbute By 类似MR中Partition 进行分区 结合sort by使用 4 Cluster By 当Distribute by和S
  • XXX packages are looking for funding run `npm fund` for details解决方法

    今天用VScode导入一个vue项目 实现npm install 安装依赖遇到了一些小问题 搞了好久才终于搞好了 下面来直接进入主题 当在终端执行npm install时出现这种情况 然后我们再执行npm update 接下来我们执行npm
  • Mybatis框架(复杂动态SQL),一对一,一对多,多对多

    复合条件查询 动态SQL MyBatis 的强大特性之一便是它的动态 SQL 如果你有使用 JDBC 或其它类似框架的经验 你就能体会到根据不同条件拼接 SQL 语句的痛苦 例如拼接时要确保不能忘记添加必要的空格 还要注意去掉列表最后一个列
  • 哈工大OS实验五---基于内核栈切换的进程切换

    基于内核栈切换的进程切换 实验目的 将linux 0 11中采用的TSS切换部分去掉 取而代之的是基于堆栈的切换程序 写成一段基于堆栈切换的代码 要实现基于内核栈的任务切换 主要完成如下三件工作 重写switch to 将重写的switch
  • Mysql高级部分系列(四)

    1 数据库的设计规范 1 1 为什么不使用自增ID 1 1 1 自增ID的问题 自增ID做主键 简单易懂 几乎所有数据库都支持自增类型 只是实现上各自有所不同而已 自增ID除了简单 其他都是缺点 总体来看存在以下几方面的问题 1 1 1 1
  • idea 部署git总结

    idea 部署git总结 github密匙快捷获取方法 idea将本地项目上传到远程仓库GitHub 报错 error src refspec master does not match any Everything up to date
  • 【线程池上篇】4种常用线程池介绍

    一 线程池介绍 概念 使用原因 线程池就是提前创建好一些线程放在一起的集合 线程池的工作模式时拿到任务后在自己的池子里找看谁闲着 这个活就让谁去干 多线程模式下 系统需要不断地启动和关闭新线程 这个过程不但消耗资源而在存在线程间过渡的不安全
  • C 程序结构

    原文链接 https www runoob com cprogramming c program structure html 在我们学习 C 语言的基本构建块之前 让我们先来看看一个最小的 C 程序结构 在接下来的章节中可以以此作为参考
  • 通过python技术获取甲流分布数据

    近期 多地学校出现因甲流导致的班级停课 儿科甲流患者就诊量呈数倍增长 此轮甲流为何如此严重 感染甲流之后会出现哪些症状 经过专家的介绍甲流之所以这么严重有这些原因导致的 一 疫情完全放开后很多孩子不戴口罩了 预防流感的作用会下降 二是 免疫
  • background-position的向右对齐用法

    一直只知道background position x轴位置 y轴位置 如果靠近左边偏移7px就写成background position 7px 20px 这样的 但是像右要怎么办 以前我是傻傻的给父容器计算了宽度 然后就向左偏移固定的宽度
  • 为什么推荐科研工作使用git

    为什么推荐科研工作使用git 每个人都会犯错 而使用Git 的最大好处就在于 几乎在所有的情况下你都能 撤消 你的错误操作 比如如果你忘记了把一个小小的改动包含进来 因此你要改正你的上个提交 又或者你想要撤销一个完整的提交 因为这个功能有可