仓库的意义 首先我们来确定几个定义: 仓库: 是一个保管我们项目的服务器,类似一台主机。但它不仅是一个存储位置,还是一个程序,我们可以对它进行一些设置。 我们会将项目提交到仓库去,供别人下载。...4️⃣ 本地仓库关联到远程仓库 Q:为什么要关联呢?我们不是有SSH了么?...SSH是仓库用来验证的,本地的Git Bash现在还不知道把项目往哪推送呢~ 连接的作用还有:我们也可以通过Git Bash将项目连接到多个仓库去,进行提交。...git commit -m "你的修改备注" 5️⃣ 推送上传 第一次推送上传: 向一个空的远程仓库中推文件: git push -u 本地仓库名称 远程分支名称 仓库名称:刚才我添加连接的时候,给仓库起名叫...特殊情况:一些下拉报错 git suboptimal pack - out of memory 当我们clone项目时,可能会报上面的错。
常见的系统(工具) CVS和SVN:CVS作为最早的开源而且免费的集中式版本控制系统,到现在还 有不少人在用。但是由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情 况。...分布式版本控制系统 系统没有‘中央服务器’,每个人的电脑上都是一个完整的版本库,工作时不 需要联网,开发者之间只需把各自的修改推送给对方(同一网络下),就可以互相看到对方的修改 了。...gitbash的配置 gitbash是可以一个本地仓库连接多个远端仓库的,你可以将一个本地仓库推到多个远端仓库 推和拉介绍:推也就是把本地的仓库内容送到远端,拉就是把远端的代码拉到本地 连接你的账户:.../all # 添加所有文件 git add dir/file.txt # 添加指定文件夹的文档 提交(git commit-m“修改注释”) 我们可以使用这条命令来将本地仓库暂存区的文件进行提交: ?...我们就已经完成了提交文件到GitHbu项目中了。可以在这里看到所有的信息,以及我提交的时间。
最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。...为什么GitHub需要SSH Key呢?...当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。...目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。...如果你没有修改,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。
配置SSH KEY的原理很简单,采用非对称加密方式生成公钥和私钥,公钥告诉GitHub,私钥留在自己电脑上(私钥不可泄露),当我们向GitHub上提交数据时,GitHub会用我们留给它的公钥加密一段消息返回给我们的电脑...3.添加ssh到ssh-agent中 执行如下命令即可: eval "$(ssh-agent -s)" OK,做好这一切之后,我们当前用户目录下已经有了一个名为.ssh的隐藏文件夹了,打开这个目录,会发现有一个名为...推送到远程仓库 推送到master分支 假设我想将本地master分支上的内容推送到远程master分支上,方式如下: $ git push -u origin master -u参数可以在推送的同时,...从远程仓库获取 首次获取 刚刚是我们向远程仓库提交数据,有提交当然就有获取,我们可以通过git clone命令克隆一个远程仓库到本地,方式也简单,在本地创建一个空文件夹,执行如下命令: $ git clone...,创建完成之后进行切换,也可以通过如下命令只创建不切换: $ git branch fa origin/fa 此时我在fa分支下修改git01.txt文件并提交,如下: ?
/xnng/bash.git cd bash 接下来,安装字体: #这是注释:运行完下边这条命令之后,window电脑会打开两个文件夹,一个文件夹里有很多.ttf文件,另一个 #文件夹里只有一个,把仅有的这一个直接拖到另一个有很多文件的文件夹里...怎么注册呢: 注册github账号 github网址: https://github.com/ github是一个免费的代码托管平台,用户范围遍布全球,我们放在上边的项目别人可以查看和克隆,别人放在上边的项目我们也可以查看和克隆...有了bug就需要修复,在使用git的时候,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。...,就是我们本地的代码和远程仓库里的代码不同步,如果你的小伙伴比你推送的时间早,那么你再推的时候就推不上去了,因为你你小伙伴最新提交和你视图推送的提交有冲突,解决办法很简单: #使用git pull拉去最新的代码...可能头都找破了也没找到,这时要是给每次提交都打一个简单的标签,必须:v1.0,那么你的boss可能对你说的是,小王,把那个0.9版本的代码发我一下,那么你只要找到提交时被标记了v0.9的版本给他就可以了
演示在 github网站上 提交更改以及在本地计算机副本上提交更改来故意创建一个文件冲突。 ...当我们刚开始使用 git 和 github 时,建议:不要在 github网站上 对文件做任何修改,而是在本地计算机副本上执行想要的修改和其他工作, 这样做有助于我们有效地避免文件冲突。...实际上,我们只是在本地计算机副本上进行更改且这个项目就是我一个人维护的话,那么我本地代码将永远和 github上 面的代码同步。 ...但是呢,如果是在一个团队中和他人协作时,他人会在我工作的时候,向远程分支 push 的一个更改,而这个更改和我们正在本地计算机做的更改是同一个文件,那么就会导致文件冲突。 ...当我们自己一个人工作时,Pull Request 只是帮助我们自己记住为什么修改,所以随意提交一个 Pull Request 都没关系。
暂存区(stage,或者index),故名思义,暂存工作区的文件修改,git add 就是将文件提交到暂存区 版本库(Repository),工作区中一个隐藏的.git目录,即是Git版本库...,它记录了项目文件的所有修改记录,通过版本库,你可以随时将文件的内容恢复成之前的某个版本 这里解释一下,为什么要在版本库与工作区之间增加一个暂存区呢,其实是有必要的。...本地还没有代码库,从远程仓库克隆一个到本地git clone 本地已经有代码库,修改代码之前先git pull与远程代码库同步 当我敲了一会代码,想看下工作区的状态,用git status 我想看下某个文件修改了哪些内容...但是有些时候代码已经存在本地了,需要将其推送到远程仓库,我通常是这样做的: 在Github上创建项目仓库:先填写仓库的名字(Repository name*,必须),然后填写项目描述(Description...:当一个功能还没开发完成时就提交代码,不完整的代码库会导致程序不能正常工作。
前言 博主是根据自己的情况写这篇博文的,每个人遇到的情况和需求可能不一样哈,所以初始的步骤也不一定一致,但是同时推送到Github和Gitee的步骤都会是一致滴!...Gitee拉取Github仓库 直接在Gitee中创建一个项目,然后再最后一行导入Github项目就阔以啦! 去到你的Github仓库复制https链接,直接粘贴就阔以啦 ?...为了避免冲突,将原始的remote名字也改掉,注意:remote的名字任意,但是在提交的时候要与这里对应 image.png 3.执行以下命令,可以看到配置的两个仓库 git remote 4....第二:需要修改在上面配置过的 config 文件,它在你的项目目录下的 .git 文件夹下 原本只有一个ssh-key时,你的配置文件可能是这样的 ?...当你有两个ssh-key时,你的配置文件就需要改成如下 ? 最后将 Github_HOST 、 Gitee_HOST 替换成你自己配置里的Host地址 其余步骤都是一样的啦!
暂存区(stage,或者 index),故名思义,暂存工作区的文件修改,git add 就是将文件提交到暂存区 版本库(Repository),工作区中一个隐藏的.git目录,即是 Git...版本库,它记录了项目文件的所有修改记录,通过版本库,你可以随时将文件的内容恢复成之前的某个版本 这里解释一下,为什么要在版本库与工作区之间增加一个暂存区呢,其实是有必要的。...本地还没有代码库,从远程仓库克隆一个到本地git clone 本地已经有代码库,修改代码之前先git pull与远程代码库同步 当我敲了一会代码,想看下工作区的状态,用git status 我想看下某个文件修改了哪些内容...但是有些时候代码已经存在本地了,需要将其推送到远程仓库,我通常是这样做的: 在 Github 上创建项目仓库:先填写仓库的名字(Repository name*,必须),然后填写项目描述(Description...分支的作用:当一个功能还没开发完成时就提交代码,不完整的代码库会导致程序不能正常工作。
推:将本地代码库中的内容推送到远程代码仓库 git push。 添加暂存区: 新增Information.txt文本文件,添加至本地暂存区。 ? ? 提交本地代码库: ? ?...冲突解决: 接下来我们来自己模拟一下多人开发,如:我在本地修改Information.txt文本文件的内容,然后在到GitHub中修改一次这样本地在提交的时候就会产生冲突,然后我们可以借助VS Code...GitHub中的修改: ? 本地提交后,拉取时提示冲突如下: ? 合并冲突提交到远程代码库中: VS Code提供了四种智能合并的方式供给我们选择,我们可以按照实际情况进行代码冲突解决。...子分支开发完成后合并到主分支中: 首先我们在feature-20210218子分支中创建一个文件夹和一个文本文件,然后将feature-20210218子分支合并到develop开发分支中合并提交到远程代码库...2、使用实际工作开发四步曲(添,提,拉,推)教程将新添加的内容推送到远程代码库: 切换到feature-20210218分支: ? 查看文件是否提交成功: ?
后面,你在克隆你的 Github 项目时使用 SSH 方式即可。...我尝试推一个修正后的提交(amended commit)到远程,但是报错: To https://github.com/yourusername/repo.git !...我想扔掉本地的提交(commit),以便我的分支与远程的保持一致 先确认你没有推(push)你的内容到远程。...my-branch 我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。...这时候不希望把已经推(push)过的组合进来,因为其他人可能已经有提交(commit)引用它们了。
刚才以命令设置的name和email都在这个文件里。 git使用逻辑 个人使用: 想把本地的一个项目上传到github,并且之前也没有与远程有连接。...命令行输入git commit -m "新建什么,修改什么",这样就是把文件提交到版本库 git push -u origin master 将项目推送到远程仓库(同时也将本地分支master推送到远程...有时候别人修改了一个地方已经提交到远程了,自己也修改了同样的地方,自己也要push时却失败了,这是因为远程项目的版本是最新的,可能和你修改的有冲突,所以每次push前先git pull ,把远程下拉后解决冲突再...码云的使用 为什么要使用码云呢,因为码云是中文的,并且它更适合多人协作,一个组织的管理。 同样的使用方法和github很类似,首先得注册一个码云账号。...,不能提交时,但是有一个bug需要我再主分支上新建一个分支去解决,所以用到 git stash 来保存工作现场 git status 查看没有未提交的工作
这个命令将处于中间状态的文件(暂存区的文件)提交到版本库中,这时才算真正完成了一次提交过程。...当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。 ...注意把Git库的地址换成你自己的,然后进入gitskills目录看看,已经有README.md文件了: $ cd gitskills $ ls README.md 3.3.提交版本 首先,登陆GitHub... 请千万注意,把上面的michaelliao替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中...四:版本回退 git log命令显示从最近到最远的提交日志,我们可以看到3次提交,最近的一次是append GPL,上一次是add distributed,最早的一次是wrote a readme
后面,你在克隆你的 Github 项目时使用 SSH 方式即可。...我尝试推一个修正后的提交(amended commit)到远程,但是报错 To https://github.com/yourusername/repo.git !...我想扔掉本地的提交(commit),以便我的分支与远程的保持一致 先确认你没有推(push)你的内容到远程。...my-branch 我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。...这时候不希望把已经推(push)过的组合进来,因为其他人可能已经有提交(commit)引用它们了。
此时,如果是部署到自己的服务器上,只需要把这个文件夹拷贝到服务器上,通过 nginx 之类的服务器指向文件所在路径即可 同样的,当我们想要部署到 github page 时,我们也只需要将文件提交到 github...,或是通过 subtree 的形式,将 dist 文件夹作为一个分支推送到远程服务器 # 创建并切换到 gh-pages 分支 git checkout -b gh-pages # 将 dist 文件夹下的文件添加到...github 上的 master 分支提交代码以及提交 PR 时进行触发 jobs:需要触发的任务信息,一个 workflow 可以包含多个的 job,这里只有一个名为 build 的 job # This...workflow 脚本如下,当我们将本地代码推送到 github 仓库时,就会自动完成程序的发布部署 # This is a basic workflow to deploy angular app into...github 凭据删除,这样再推送到 github 时会要求你进行登录,重新登录时将密码录入为你复制的 token 信息即可 ?
无论是大型还是小型的副项目,无论是否完成或被遗弃,它们都存储在git仓库里。每当我创建一个新文件夹时,执行git init总是我的首要步骤。我不明白,既然我能使用git,为何还要选择不使用它。...变基 我会将我的PR变基到主分支上,而不是将主分支合并到我的分支中。为什么?因为当我使用git lr(我的别名,用于查看我分支上的git日志)时,我只想看到我分支上的提交。...我可以通过差异看到具体做了什么(尽管提交信息中的简短解释有时也有帮助),但当我阅读你的提交信息时,我更想知道的是你为什么要做这个改变。因为通常情况下,我们阅读提交信息,并不是因为发生了什么好事。...但即便只有我一个人工作,如果我修复了一个特别难缠的bug,我也会写一个详细的提交信息。当我与他人合作时,我会尽量编写那些能向他们解释我尝试做什么以及为什么这么做的提交信息。...我要么通过点击推送到GitHub后显示的URL来创建拉取请求,要么运行gh pr create -w命令来创建。这是我使用GitHub CLI的主要场景。
git是一个分布式的版本控制工具,用于跟踪文件的更改,协作开发和管理项目代码。它允许多个开发者协同工作,跟踪代码的修改历史,并在需要时进行回溯或合并。...除了GitHub,国内还有gitee和gitlab,gitee目前还有一些问题,比如有些私有的项目只能私有,无法开放。1.2、git有什么用?git可以保存文件的所有修改记录。...当代码出现bug时,可以还原到历史指定的版本。对比不同版本之间的文件差异。使用git diff工具进行比较文件差异。1.3、为什么用git?主要因为Git是目前最热门的分布式版本控制工具。...而Git是分布式的版本控制工具,除了一个中央服务器进行代码托管之外,本地也会有一个仓库,进行代码提交时,可以先提交到本地仓库,然后根据需要或时机再推送到远端;除了本地推送到远端服务器,还可以进行两台机器之间的本地仓库相互协作...git的仓库主要存储差异文件,存储的数据非常高效。当我们把修改的文件推送到仓库时,仓库会把历史版本文件进行比较,然后存储差异数据。
对于学生而言,当我们对报告、论文、工作进展等等一改再改、一版再版时,我们需要这样一个工具来帮我们记录我们对文件执行过的增删修改操作,甚至可以对版本进行回滚。这个时候, git就派上大用场啦。...最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都是一样的,并没有主次之分。...请千万注意,把上面的账户名替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。...当我们创建新的分支,例如dev时,Git新建了一个指针叫 dev,指向 master相同的提交,再把 HEAD指向 dev,就表示当前分支在 dev上: ?...有了bug就需要修复,在Git中,由于分支是如此的强大,所以,每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
查看单个文件可回滚版本:git log filename 当我们想回滚指定文件到指定版本时,需要查看该文件有多少个版本可以回滚时,可以使用git log filename命令 git log test.c...github的使用 github是一款使用git命令作为基础框架的网站,它是一款开源分享网站,你开源把你的源代码放到github上,然后让人来start给你小星星,小星星越多代表你的项目越具有影响力,很多公司面试如果你有一个很多星星的项目...github上创建仓库 我们可以在github上创建一个仓库 创建时记得选上readme文件,因为这个文件是github上的md文件,用来显示项目简介的,建议选上,日后我会教大家如何去写md文件,或者可以去使用一些在线的...创建完成之后就是这个样子的 什么也没有,只有一个readme文件 github将本地仓库关联到远程仓库:git remote add origin 我们本地有一个仓库,我们想把它推送到远程上去,很简单...推送到远程 git push -u origin master 这里我来解释一下 push:将本地仓库与远程仓库合并 -u:将本地仓库分支与远程仓库分支一起合并,就是说将master的分支也提交上去
0x03.添加SSH key 当我们对代码进行提交时,Github/Gitee要怎么知道是我们提交的代码,而不是别人提交的呢,所以就需要进行授权来确认我们的身份。...0x04.克隆仓库 说来惭愧,这是我接触到Github之后很长时间内最常用的操作(因为就只会这一个操作)。...此时初始化的本地项目还没有关联到远程仓库。 当然,有本地仓库还不行,我们本意是要把本地仓库推送到远程仓库,因此,还需要在Github/Gitee上建一个远程仓库。...最后将代码推送到远程仓库指定分支,即可完成一次代码提(其中注意,最后提交时Gitee与Github的分支名有所不同): # 推送代码到指定分支 git push origin [分支名] # Github...本质上是将提交校验和存储到一个文件中——没有保存任何其他信息。
领取专属 10元无门槛券
手把手带您无忧上云