默认的 GitLab 的 Runner 在构建时不会去拉取 Git Submodules 仓库,将会提示 Skipping Git submodules setup 跳过初始化 Git Submodule...仓库 如官方文档 的描述,只需要加上以下代码在 .gitlab-ci.yml 文件即可 variables: GIT_SUBMODULE_STRATEGY: recursive # 拉取 Submodule...,注意不同的 job 是在完全空白的项目,不会用到上一个job编译的文件 variables: GIT_SUBMODULE_STRATEGY: recursive # 拉取 Submodule 内容...设置之后可以在 GitLab 的 Runner 构建时看到如下输出 Updating/initializing submodules recursively 也就是说将会自动拉取 submodules...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
image.png 在本地产生私钥和公钥(private_key & public_key) ?...image.png 如何设置多个公钥私钥 其他的操作如上,只需要运行一下命令并创建一个config在.ssh下 ssh-keygen -t rsa -C "1email@company.com” -...image.png 创建一个config文件 ?...HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa # 配置文件参数...# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件 # HostName : 要登录主机的主机名 # User : 登录名 # IdentityFile
拉取的时候可以通过 sparse clone 实现对指定文件夹的拉取 这样做通常是为了只下载核心的代码,不希望文件过多过于臃肿。...后来发现另一个更重要的,特别是在一个项目刚开始克隆别人的项目时,使用 --depth 参数来设置拉取深度更有效。 需要注意的是,可能和版本有关 也可能git语法就是这样。...--depth 需要写在 add,clone之后 不能写在语句结尾,否则是无效的。
git 如何删除已经 add 的文件 ( 如何撤销已放入缓存区文件的修改) 使用 git rm 命令即可,有两种选择: 一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除...; 一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)。...git --如何撤销已放入缓存区(Index区)的修改 修改或新增的文件通过 git add --all命令全部加入缓存区(index区)之后,使用 git status 查看状态 (git status...-s 简单模式查看状态,第一列本地库和缓存区的差异,第二列缓存区和工作目录的差异), 提示使用 git reset HEAD 来取消缓存区的修改。...不添加参数,撤销所有缓存区的修改。 另外可以使用 git rm --cached 文件名 ,可以从缓存区移除文件,使该文件变为未跟踪的状态, 同时下次提交时从本地库中删除。
Git忽略本地的文件修改,保留其在远程仓库的状态 项目中的一些配置文件,需要在本地根据实际情况配置和修改,但同时这些配置仅在本地使用,并不想提交到远程仓库,这个时候仅使用.gitignore就办不到了...如引言中的使用场景,在项目中有一些配置文件在远程仓库存在,但是本地的修改并不具有普适性,因此是不需要提交到远程仓库的,天真的我一开始将项目拉下后,直接在.gitingnore中添加了相关文件,但是在修改后发现...即文件已经被track后,再添加到.gitignore是无效的,因为git不会自动的帮你删除文件,这一步需要手动去做,即: git rm -rf --cached . git add ....这个操作是删除仓库中的所有文件,然后再将他们添加回来,注意添加进仓库的时候,track的规则就会根据最新的.gitignore进行。...但是查看git tree并没有任何跟踪文件是没有保存和提交的状态,也就是说之前被设置忽略的文件,犹如掩耳盗铃般,只是不被提交,但是在merge、checkout的时候还是会被提示覆盖风险而导致git操作失败
在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 结果造成本地(远程)的分支或某些...commit丢失 可以通过reflog来进行恢复,前提是丢失的分支或commit信息没有被git gc清除 一般情况下,gc对那些无用的object会保留很长时间后才清除的...reflog是git提供的一个内部工具,用于记录对git仓库进行的各种操作 可以使用git reflog show或git log -g命令来看到所有的操作日志 恢复的过程很简单...Q:怎样找回历史版本中删除的文件?...A:先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout [commit_id] -- 就可以恢复
之前在从git远程库拉取项目的时候,出现了如上错误,因为拉取时间过长才报的错,所以猜测是内存或者项目过大导致的无法拉取,所以搜了搜,网上说是解决方案有三种,一种是增大缓存区;二是浅克隆,也就是说克隆的时候...,先少克隆一些,比如只克隆每个文件只取最近一次提交,不是整个历史版本,三是换协议:具体解决方案如下: 一,加大缓存区 git config --global http.postBuffer 524288000...1,就是每个文件只取最近一次提交,不是整个历史版本。...git://github.com/test/test.git ---- 记录一下今天在GitHub上拉取代码的报错及解决方法 原因可能有文件过大、网速太差、以及一些国外资源因为墙的因素影响等等 解决方式...取值为 [-1, 9],-1 以 zlib 为默认压缩库,0 表示不进行压缩,1…9 是压缩速度与最终获得文件大小的不同程度的权衡,数字越大,压缩越慢,当然得到的文件会越小 2、可以增加git的缓存大小
#推送本地更新到远程仓库 $git push origin master(origin为假定的远程仓库名,master是默认分支) #从远程仓库拉取新内容 ...#删除分支(无论是否已合并) $git branch -D branchname #查看未暂存文件的与修改前的差异 $git...diff #查看已暂存文件与上次提交时快照之间的差异 $git diff --cached #移除文件 $git rm...$ git commit --amend #取消已暂存文件 $ git reset HEAD /path/to/file #取消对文件对的修改...#查看当前远程库 $git remote -v #从远程库拉取更新 $git fetch origin #合并拉取的更新的分支到本地分支
Git 状态 如果您想查看哪些文件已被创建、修改或删除,可以通过 git status 查看。 git status Git 提交 经常提交是一个好习惯。你总是可以在推送之前合并你的提交。...-i选项打开一个交互式文本文件。 您将在每次提交的左侧看到“pick”一词。保留顶部的一个,并将所有其他的替换为“s”以进行挤压,保存并关闭文件。...获取远程仓库更新 git fetch upstream Git 拉取 拉取只是执行一次提取,然后执行一次合并。当使用 git pull 时,git 会自动合并其他提交,而不是查看它们。...拉取一个分支 如果您有一个名为 my_feature 的分支,并且希望拉取该分支,可以使用: git origin/my_feature 拉取全部内容 或者,如果你想把所有的东西和所有其他的分支都拉取出来...git pull Git 合并和变基 当运行 git merge时,HEAD 分支将生成一个新的提交,保留每个提交历史。
通过以上步骤,可以解决当前分支没有与之关联的远程分支的问题,并确保在推送或拉取时能够正确同步代码。...```解决Git冲突是在合并分支或拉取远程更新时可能遇到的情况。...下面是解决Git冲突的一般步骤:### 步骤1:检测冲突在合并分支或拉取远程更新时,如果Git检测到冲突,会在文件中标记出冲突的部分。可以使用`git status`命令查看哪些文件有冲突。...### 步骤4:标记冲突已解决在解决完冲突后,保存文件并使用以下命令标记冲突已解决:```git add ```### 步骤5:完成合并继续合并分支或拉取远程更新,并完成合并操作...```通过以上步骤,可以解决Git冲突并成功合并分支或拉取远程更新。
在实战项目开发中,对关于如何在通过Git提交项目,以及如何使用Git命令对提交的文件进行撤销,回退/还原,删除等相关操作有了一定的了解。以下主要是我在工作,学习中对自己使用Git的一些总结。...git reset —hard + 版本号 彻底回退到某个版本,本地的代码也会改变上一个版本内容 git pull和git fetch的用法及区别: git pull (拉取): 是拉取远程分支更新到本地代码库的操作...Git撤销,回退/还原,删除操作: Git取消从工作区提交到暂存区的文件追踪: 在使用git的时候,有些文件是不需要上传的,所以就可以修改 例如: 如果是对所有文件都取消跟踪的话,就是 git rm...//删除本地文件【不推荐使用,因为会把本地的文件也给删除了】 对某个文件取消跟踪 git rm --cached readme1.txt //删除readme1.txt的跟踪,并保留在本地(推荐使用...dev分支为准 git rebase # 衍合指定分支到当前分支 Git拉取时设置拉取深度: git clone --depth=1 git@github.com
拉取 8.3. 推送 8.4. 删除远程分支 1. 设置用户身份 安装好 Git 后的第一件事就是设置用户名和电子邮件地址。...文件已经被手动删除 git add + git commit 即可 git rm 会把文件从工作目录中删除 如果你只是想从暂存区中移除文件,并且把文件保留在工作目录,只需要使用 --cached 选项。...要同别人协作,就要管理这些远程仓库,在需要分享工作成果时,向其推送(push)数据,从中拉取(pull)数据。 6.1....分支合并——快进合并 当你试图合并两个分支时, 如果顺着一个分支走下去能够到达另一个分支,那么 Git 在合并两者的时候, 只会简单的将指针向前推进(指针右移),因为这种情况下的合并操作没有需要解决的分歧...拉取 git fetch 8.3.
在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa.pub...公钥文件,这个是共用的,Linux系统和github 中都是使用的这个文件 第二步:在/home下创建git用户的文件夹, 命令 我的git用户名就是Git mkdir git chown -R...git:git git 更改用户的所有者 第三步:在git文件夹下创建 .ssh文件夹 第四步;在 .ssh 文件夹下创建文件authorized_keys 第五部:将id_rsa.pub文件中的值复制到...authorized_keys文件中,保存并退出, 完成,再次修改再提交时不用再输入密码。
git add:此命令可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。即“添加内容到下一次提交中”,而不是“将一个文件添加到项目中”。...2.9 移除文件 正常git删除操作:即从git移除同时从工作目录删除使用git rm。 rm删除后的git移除:rm文件后,再使用git rm [文件]。...放入暂存区之后rm删除文件的git移除:git rm -f [文件]。 从git仓库删除但保留在本地目录:git rm --cached [文件]。...远程仓库是指托管在因特网或其他网络中的你的项目的版本库。通常有些仓库对你只读,有些则可以读写。与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。...5.3 从仓库抓取与拉取 git fetch [remote-name]:从仓库中拉取所有本地没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。
-d 删除远程分支:git push origin --delete 4 、git status(查看状态) 查看当前分支的基本状态:git status (如:分支名,) 5、git add(添加...) 添加某个文件:git add 添加所有改动文件:git add --all 6、git commit(提交) 提交改动并且注释: git commit -m "注释说明" 修改提交(没有push...8、git pull/fetch(拉取) 远程获取,但不会merge:git fetch 远程获取,且merge:git pull pull = fetch + merge 9、git merge...3.提交:git commit -m "加本次提交的说明" 4.推到远程对应分支:git push 5.git pull:拉取最新代码 多人并行开发: 基本步骤同上 但是容易起冲突,需要解决冲突之后才能正确提交...可查看log,或者使用可视化工具.如:smartGit 声明:本文为原创,作者为 对弈,转载时请保留本声明及附带文章链接:http://www.duiyi.xyz/c%e5%ae%9e%e7%8e%
如果使用 git rm 移出版本库,则成为 Untracked 文件 文件已修改(Modified): 仅仅是修改, 并没有进行其他的操作。...# git rm // 将 fileName 从暂存区删除文件,仍保留在当前工作目录中 # git rm --cached 文件提交 git commit...模式在重置 HEAD 时,会保留工作目录和暂存区中的内容,并把重置 HEAD 所带来的新的差异放进暂存区,保留工作目录(workspace)和暂存区(index/stage)的内容,只让 repository.../git fetch git fetch 可以拉取远程仓库的代码 ~~ 拉取所有远端的最新代码 # git fetch --all ~~ 拉取远程最新 master 分支代码(指定 master 分支...它不仅会拉取远程分支,还会合并远端和本地代码,即:git pull = git fetch + git merge ~~ 拉取远程仓库分支,更新并合并到本地分支 # git pull ~~ 将远程
分支修改切换 在非目的分支上做了修改,想切换回目的分支 还未添加到暂存区/已添加到暂存区还未提交 1....已经推送(push)过的文件 已经推送(push)过的文件,想删除本地文件,并将删除这个操作更新到远程文件, git rm -r --cached .git add .git commit -m 'update....gitignore'git push -u origin master 已经推送(push)过的文件,想从git远程库中删除,并在以后的提交中忽略,但是却还想在本地保留这个文件,可以使用 $git...rm --cached pages/index.wxml 已经推送(push)过的文件,想在以后的提交时忽略此文件(即使本地对该文件修改过也不同提交新修改),并且不删除git远程库中相应文件,可以使用...[remote/branch] 拉取所有分支代码 git fetch
11、删除文件 12、推送 13、拉取 14、查看本地分支 15、查看远端分支 16、创建本地分支 17、切换分支 18、合并分支 19、删除分支 20、回退上一版本 21、回退之前100个版本 22...config --global user.email "你的邮箱" git config --global user.name "你的名字" 例如: git config --global user.email...内容 例如:git commit -m "新增测试文件" 11、删除文件 1、要从Git中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。...git rm -f 文件 3、如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,仅是从跟踪清单中删除,使用--cached选项即可。...git rm --cached 文件 12、推送 git push 强制推送:git push -f 13、拉取 git pull 14、查看本地分支 git branch 15、查看远端分支
首次拉取带子仓库的代码方法: 仓库一起拉取: git clone --recurse-submodules 父仓库地址 分开拉取: git clone 父仓库地址 git submodule init...但是在仓库中保留跟踪信息更有意义一些,因为其他人也可以得到同样的效果。...当你在克隆这样的项目时,默认会包含该子模块目录,但其中还没有任何文件: $ git clone https://github.com/chaconinc/MainProject Cloning into...在包含子模块的项目上工作 从子模块的远端拉取上游修改 如果想要在子模块中查看新工作,可以进入到目录中运行 git fetch 与 git merge,合并上游分支来更新本地代码。...但是在仓库中保留跟踪信息更有意义一些,因为其他人也可以得到同样的效果。这时我们运行 git status,Git 会显示子模块中有“新提交”。
通过使用git push命令将本地版本库中的更改推送到远程仓库,并使用git pull命令从远程仓库拉取最新的更改,可以与其他开发人员保持同步。...注意:在使用这个命令时,请谨慎操作,以免意外丢失重要的修改。 总结: git reset --soft:保留修改和暂存区的文件,可重新提交。...在远程仓库中也可以查看到我们的提交了: 拉取远程仓库 从远程仓库中获取最新的代码更新是很重要的,就像从云盘上下载最新的文件到你的电脑一样。...如下,现在远程仓库的版本是第四次提交: 现在新建一个分支并回退到第三版: 运行git pull命令没报错即拉取成功: 克隆远程仓库 在使用 git clone 命令进行克隆时,你有两种选择: 克隆到新建的项目目录...打开包含冲突的文件,根据标记手动编辑文件,解决冲突并保留需要的更改。 解决冲突后,使用 git add 命令将修改的文件标记为已解决冲突。 最后,使用 git commit 命令提交解决冲突后的更改。
领取专属 10元无门槛券
手把手带您无忧上云