【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案

这篇具有很好参考价值的文章主要介绍了【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【GIT】错误集锦及解决方案

【GIT】本地和远程test关联

git branch -u origin/test 本地和远程test关联
返回:Branch 'test' set up to track remote branch 'test' from 'origin'.关联成功

备注:确保当前本地分支正确。

【GIT】当前本地分支与远程关系解除(及解除后再次绑定)

git branch --unset-upstream 当前本地分支与远程关系解除
返回:Branch 'test' set up to track remote branch 'test' from 'origin'.关联成功


再次绑定
git branch --set-upstream-to origin/dev-caoke
返回:Branch 'test' set up to track remote branch 'test' from 'origin'.关联成功

【GIT】分支校验

git branch -r 参看远程分支

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

git branch -a 参看本地及远程分支

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

git branch -vv 参看本地分支和远程分支的关系

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】基于IDEA使用GIT提示:无法将“awk"项识别为 cmdet、数、脚本文件或可运行程序的名称。请检查名称的排写,如果包括

解决:不要在IDEA上用。 直接项目文件夹,右击->git Bash Here,原始界面运行命令

【GIT】看时间段内个人代码行数(记得修改作者名跟时间段,其他不要动)

git log --author=作者名(下面那个可以看) --since='2023-03-11 00:00:00' --until='2023-04-30 23:00:00' --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s,total lines: %s", add, subs, loc }' 

【GIT】看个人名称

git log --pretty="%an"

【GIT】源仓库新建分支同步到fork的自有仓库

1:git checkout -b 分支名 mindspore/分支名 
(切换并新建)本地分支并将远程仓库mindspore的分支同步过来  
mindspore:源仓库

2:git push -u origin 分支名
将本地新建的分支推到远程仓库(自有的,非源)
这条命令git checkout -b r1.8 mindspore/r1.8的意思是在本地仓库中创建一个名为r1.8的新分支,并将远程仓库mindspore中的r1.8分支的内容拉取到新分支中。

具体解释如下:

git checkout -b r1.8:这部分表示要创建并切换到名为r1.8的新分支。如果该分支已经存在,则直接切换到该分支。如果不存在,则创建该分支,然后切换到新创建的分支。

mindspore/r1.8:这部分表示要从远程仓库mindspore中的r1.8分支拉取内容。mindspore是源仓库的名称,r1.8是源仓库中的分支名称。

综合起来,执行这条命令会在本地仓库中创建一个名为r1.8的新分支,并从远程仓库mindspore的r1.8分支中拉取内容到这个新分支中。这样您就可以基于源仓库的r1.8分支进行后续的开发工作或跟踪源代码的变化。
git push -u 命令用于将本地分支的更改推送到远程仓库,并建立本地分支与远程分支的追踪关系。

具体解释如下:

git push: 用于将本地分支的更改推送到远程仓库。
-u 或 --set-upstream: 用于在推送的同时,建立本地分支与远程分支的追踪关系。
当您第一次将本地分支推送到远程仓库时,可以使用 git push -u 命令。这将会在推送的同时,将本地分支与远程分支关联起来,使得后续的 git pull 或 git push 命令可以自动识别并操作关联的远程分支。

使用示例:
假设您当前位于本地分支 feature 上,并且该分支在远程仓库中尚未存在。执行以下命令即可将本地分支推送到远程仓库并建立追踪关系:

shell
git push -u origin feature
执行上述命令后,本地分支 feature 的更改将被推送到名为 origin 的远程仓库,并且本地分支 feature 与远程分支 origin/feature 建立了追踪关系。此后,您可以直接使用 git pull 或 git push 命令而无需显式指定远程分支。

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

原主:https://blog.csdn.net/weixin_43947456/article/details/125456108

【GIT】push rejected

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

合并提交出现问题

出错原因:是因为远程repository和本地的repository冲突导致的,在多人协同机制下,远程库的代码可能已经被其他程序员更新,而你的本地库还停留在未更新前前的状态,这种情况下的push会被远程库拒绝。(其实远程库判断的版本依据就是根据commit的history)

**解决办法:**先在已有代码的分支上创建一个新的本地开发分支,然后用之前旧分支去pull一下远程库中的代码,然后将新创建的本地开发分支merge到旧分支上,即可push。

【GIT】本地分支推到源仓库

git push -u mindspore r1.8:r1.8
将本地分支r1.8推送到远程仓库mindspore的r1.8分支上,并且建立起本地分支r1.8与远程分支的追踪关系。

【GIT】git报不支持http,需要使用https

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

报错:
fatal: Unencrypted HTTP is not supported for GitLab. Ensure the repository remote URL is using HTTPS.

解决:
git remote set-url origin 远程仓库地址的http+s

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】gitfork使用

git fork的使用

拉项目:
#克隆fork仓库
git clone http://gitlab.cmss.com/yangya_ext/cmdb-cloud.git (这里是fork下来的地址)

#本地仓库与源远端仓库建立连接并 起个 别名
git remote add upstream http://gitlab.cmss.com/YY3DEV/bc-guard/cmdb-cloud.git (这里是源仓库地址)


更新用这两条:
#获取源远端仓库信息
git fetch upstream

git merge upstream/feature_aiops_v3.8.2

(更新提示不支持http,需要使用https。看git问题解决方案)


fork上传,拉取
上传:正常上传,找管理员审核
拉取:正常拉,好像是自己的远程仓库。 拉源仓库更新,更新那两条



下面将就着看,没用到

#基于源远端仓库创建本地分支
git checkout -b  develop upstream/develop

#上传当前分支到fork仓库
git push  develop origin/develop

#修改当前本地branchname分支跟踪fork仓库branchname分支
git branch --set-upstream-to=origin/develop

#拉取源远程仓库的分支代码
git pull upstream develop

【GIT】git配置密钥并添加到gitlub

在您的个人资料中添加SSH密钥之前,您不能通过SSH来拉取或推送项目代码

https://www.cnblogs.com/love-snow/articles/14215110.html

1、查看本地是否配置过
cd ~/.ssh
ls
如配置过:会显示两个文件名称

2:创建密钥
ssh-keygen -t rsa -C 'xxx@xxx.com' # -C 
改为自己的邮箱 一路回车

3:查看并复制密钥
cat id_rsa.pub

4、添加密钥
打开gitlab,找到Profile Settings-->SSH Keys--->Add SSH Key,并把上一步中复制的内容粘贴到Key所对应的文本框,在Title对应的文本框中给这个sshkey设置一个名字,点击Add key按钮

此处对应第二步

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

此处对应第四步

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

(咋说呢,就是你有一个文件,你每一次commit都有记录,你可以选择回到你某一次提交,红色表示在工作区,绿色暂存区(缓存区))

粘贴:Shift+Ins

17568020819

开发人员在本地建立一个本地分支 叫xxx ,在这个分支上进行业务实现,然后完成业务后,进行自我测试,自我测试完毕后,在本地与dev分支合并,然后将dev分支推送到远程dev

dev提交前记得拉一下代码

【GIT】git提示Can't update(master has no tracked branch)

git push --set-upstream origin master

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】No Changes detected

已经是最新的了,没法提交
随便打点什么就能提交了

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】push to origin/master was rejected错误解决方案

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

1.切换到自己项目所在的目录,右键选择GIT BASH Here,Idea中可使用Alt+F12
 
2.在terminl窗口中依次输入命令:
 
git pull
 
git pull origin master
 
git pull origin master --allow-unrelated-histories
 
3.在idea中重新push自己的项目
 
git push -u origin master -f

原文链接:亲测有用push to origin/master was rejected错误解决方案_push to was rejected_辰一更的博客-CSDN博客

【GIT】git生成公钥

生成方法:
1.打开git bash
2.配置用户名和邮箱
git config --global  user.name “用户名,填你的名字全称 如:刘鹏 方便识别”
git config --global user.email “邮箱,填你的常用邮箱,代码出错时会发邮件通知你”
3.生成私钥和公钥
 ssh-keygen -t rsa 并按回车3下
(为什么按三下,是因为有提示你是否需要设置密码,
如果设置了每次使用Git都会用到密码,
一般都是直接不写为空,直接回车就好了)
会在一个文件夹里面生成一个私钥 id_rsa和一个公钥id_rsa.pub,
默认文件夹在你打开git bash的目录,或者在你的用户目录~/.ssh文件夹下
4.复制公钥给我 
id_rsa.pub文件的所有内容

【GIT】凭据问题

warning: could not find UI helper ‘git-credential-manager-ui‘

(命令帮助:git-credential-manager --help)
1:git-credential-manager configure
2:git-credential-manager get
3:再次拉取。弹出账号密码页面

【GIT】:GIT基础及进阶知识

概念:Git是目前世界上最先进的分布式文件版本控制系统

版本控制:将一组文件的改动记录下来,形成版本历史,需要时可以恢复

作用:1:上传,下载,2:共享代码回溯版本 3:追踪信息

Git:

控制台 :右击桌面空白 -> Git Bash Here

操作命令:Git

初始化工作区:要初始化的文件 -》空白处Git Bash Here -》git init(即:在那个文件,进入控制台,init初始化)

查看状态:git status (如在A文件夹创建B.txt文件,进入控制台查看,显示红色文件名:在工作区(即没有提交到缓存区)

编辑文件:vim文件名 -> linux的操作

.swp:非正常关闭vi/vim编辑器时会生成一个.swp文件 ,用来恢复文件

查看文件内容:cat 文件名

工作区提交缓存区:git add xxx.txt

显示绿色文件名:new file : 文件名 (在缓存区)

报错:

warning: LF will be replaced by CRLF in readme.txt.

The file will have its original line endings in your working directory.

原因:出现此问题是因为不同操作系统的使用的换行符不同:

解决:git config --global core.autocrlf false

缓存区提交本地仓库:git commit -m '备注信息'

说明:-m 后面跟随的是为你提交的备注,m是单词message信息的首字母

如果第一次提交需要填写如下内容

命令:git config --global user.email '123456@qq.com'

说明:指定邮箱

命令:git config --global user.name 'suoge'

说明:指定操作者

总结:工作区 -》缓存区 -》 本地仓库 即:工作区add到缓存区 commit到本地仓库

本地操作:

工作区暂存区比较:git diff 文件名.格式

显示:绿色+:代表新增内容

暂存区本地库比较:git diff --cached 文件名

工作区本地库比较:git diff HEAD 文件名

版本回退:

查看当前提交日志:git log

HEAD-> master:标记当前分支的当前版本所在位置,如果没有显示:git log --decorate 查看当前提交日志,且显示当前分支的当前版本所在位置

回退到上一个版本:git reset --hard HEAD^

回退到上上个版本:git reset --hard HEAD^^

回退到上100个版本:git reset --hard HEAD~100

查看所有操作日志:git reflog

回退到指定版本git reset --hard 版本号 (git reflog可以查看版本号)(回退错了,可以选择这个再回对的,先看版本号,再回退!

修改撤消:

撤销工作区修改:git checkout 文件名称

暂存区内容撤回到提交前(即工作区版本):git reset HEAD readme.txt

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

分支:

分支:分支就是多次提交串起来的一条线

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

在C3基础上,C4,C5分别开发了新功能 , c4融合c5又形成了c6

merge 命令:可以将 new 分支的变动合并至 main 分支,形成c6(c6既包含c4ye也包含c5)

分支创建与切换:(主分支(默认):master 其他分支:自己创建的)

创建分支:git branch 分支名

切换分支:git checkout 分支名

合并分支:git merge 分支名 (内容合一,分支都在)

删除分支 :git branch -d 分支名

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

本地仓库实际上是存储在个人电脑中的,用于存储个人提交记录与提交日志,说简单点,你现在commit提交的内容都在本地

以上为本地仓库操作。

GIT远程仓库:

常用的远程仓库:GitHub,gitee,gitlab

仓库创建:

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

GIT远程仓库操作-关联、拉取、推送、克隆(不用刻意记,idea会有操作)

关联:本地仓库关联远程仓库:git remote add origin 远程仓库地址

拉取:从码云仓库拉取到本地仓库:git pull

首次拉取命令:git pull origin master --allow-unrelated-histories

首次拉取需要添加:--allow-unrelated-histories

推送: git push 首次推送:git push -u origin master

克隆:新加入一个团队,把代码从远程仓库克隆过来:git clone 远程仓库

git clone(克隆) 与 git pull(拉取) 区别:

#1.相同点:都是从远程服务器拉取代码到本地

#2.不同点:

git clone(克隆) :是在本地没有版本库的时候,从远程服务器克隆整个版本库到本地,是一个本地从无到有的过程

git pull(拉取) :在本地有版本库的情况下,从远程库获取最新commit 数据(如果有的话),并merge(合并)到本地。

IDEA集成Git:

设置 -》 Git -》 Path To Git ex... -> 选择Git安装目录的Bin Git.exe目录 -》test

校验git是否集成完成,点击test,弹出校验窗口,点击git Executed successed 成功则表示集成完成)

初始化工作区:创建工程 -》VCS -》 Create Git Repository -》 选择要管理的文件夹(相当于找个文件空白地方打开控制台init)-》所有的文件都变成棕色,就成功了

忽略文件类型:

拷贝Mysql Day09 "资料"中.gitignore文件,到gitProject的根目录,如果有新的要忽视的文件类型,你可以在.gitignore中添加

工作区提交暂存区: 工程名 -> Git ->add(棕色变绿色)

暂存区提交本地仓库 :Git -》Commit (跟控制台操作同理,也可以在控制台回退版本)

IDEA中使用GIT-基本操作-差异化比较:

工作区与本地仓库比较:要操作的工程或者类-> 右击选Git -> Compare with Revision ->选择版本ID

本地仓库撤销回退:

点击下方Git -> 选择 commit时候备注的内容 -> 右击选择Reset Current Branch to Here ->点 Hard

工作区撤消回退:

选中要操作的类(add过的)->右击选择Git -> Rollback -> 弹窗点击 Rollback

IDEA中使用GIT创建与关联远程仓库:

关联远程仓库:Git -> manage remotes -> + -> 仓库名,路径

IDEA中使用GIT拉取、推送、克隆远程仓库

拉取:将码云上的内容拉取到本地:点击项目或类 -》Git -》pull -》按住Ctrl+F5

(第一次拉取会失败:解决:参见Mysql Day09 搜:第一次会拉取失败)可以尝试首次拉取命令

推送:点击工程或者类-》右击Git-》Push (成功提示:Pushed 1 commit to origin/master)

推送报错:rejected: Push to origin/master was rejected

原因:git拒绝合并两个不相干的东西

解决:本地仓库的根目录下输入指令git pull origin master --allow-unrelated-histories

克隆:复制码云上仓库地址:Git -》 clone -》 URL (来源地址),Directory(本地存放项目的位置)

IDEA中使用GIT-分支-创建、合并、删除分支:

创建分支:右下角master -》 New Branch -》

合并分支:(先提交到本地仓库,才能合并)-》附分支 -》merge into Current

IDEA中使用GIT-版本冲突:

即:多个用户对同一个文件交叉修改、

产生及解决详见:参见Mysql Day09 版本冲突及解决(我模拟不出来)

更改远程仓库地址

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案,GIT,git,elasticsearch,大数据,java

解决冲突

方案一:

can't commit changes due to unresolved
git status 看看哪些有问题
    git add .提交上去
    (解决)

方案二:

1:放弃本地

2:重新拉取

3:本地的变动复制到新的

基本的合并

代码于dev开发

切换到master

拉取远程仓库最新代码

合并(master->合并选择当前(英文)文章来源地址https://www.toymoban.com/news/detail-745764.html

1、git checkout master                         【进入要合并的分支】
2、git pull              【拉取最新代码】
3、git branch -a            【查看所有分支是否都pull下来了】
4、git merge dev       【使用merge合并开发分支】
5、git status        【查看合并之后的状态】
注:此时有冲突的话,解决冲突
git add  冲突文件
继续提交代码
6、git commit            【如果不是使用git commit -m '备注',那么git会自动将合并的节骨作为备注,提交本地仓库】
7、git push             【本地仓库代码提交到远程仓库】

到了这里,关于【GIT】GIT的基本使用 及 使用过程中各种错误的解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GEE错误——影像加载过程中出现的图层无法展示的解决方案

    // I don\\\'t know if some standard value exists for the radius, in the same, I will assume that some software would prefer to use square shape, but circle makes more sense to me. // pixels is noice if you want to zoom in and out to visualize, but maybe for export or computation you would prefer meters  // 我不知道半径是否有标准值,同样,我认为

    2024年02月08日
    浏览(41)
  • 【JMeter】JMeter压测过程中遇到Non HTTP response code错误解决方案

    压测过程中并发逐步加大后遇到60%的错误率,查看错误是JMeter网页版聚合报告中显示 这是第二次遇到,故把解决方案记录下来,供大家参考 1、先检查下tcp  port  range 是否在合理范围内       1024 65535为centos合理范围,不合理则需要作出修改 2、调低端口释放后的等待时间,

    2024年02月04日
    浏览(35)
  • 【Git 教程系列第 26 篇】Mac 升级系统到 Ventura 后,Git 公钥报 Permission denied 错误问题的解决方案

    这是【Git 教程系列第 26 篇】,如果觉得有用的话,欢迎关注专栏。 注 : 如果你是因为升级系统到 Ventura 后遇到的这个问题,可以直接看第三步的解决方案,前两步是我自己的写作习惯,只是记录一下这个过程,当然你也能从中读到更多的信息。 一:问题描述 因为项目的

    2024年02月01日
    浏览(44)
  • Navicat的使用:报2059错误解决方案

    该错误的原因是在MySQL8之前版本中加密规则是mysql_native_password,而在MySQL8以后的加密规则为caching_sha2_password。 解决此问题有两种方法,一种是更新navicat驱动来解决此问题,一种是将mysql用户登录的加密规则修改为mysql_native_password。此处采用第二种方式。 具体做法: 使用cmd的

    2024年02月07日
    浏览(28)
  • Python中pip安装与使用及错误解决方案合集

    本文旨在记录 pip 安装与使用,以及安装过程中遇到问题的解决方案。 \\\"ModuleNotFoundError: No module named ‘xxx’\\\"这个报错是个非常常见的报错,几乎每个python程序员都遇到过,导致这个报错的原因也非常多,下面是我曾经遇到过的原因和解决方案 下面是每种情况分别的解决方案:

    2024年02月16日
    浏览(31)
  • Ubuntu: scp命令使用及Permission denied错误解决方案

    scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 Ubuntu 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。 scp /Users/X.pem root@192.168.1.247:/usr/local/ssl 这是由于目标文件夹没有写入权限,需要在修改目标文件夹的写入权限 以Ubuntu服务器端文件夹/usr/local/ssl为例

    2024年02月13日
    浏览(41)
  • vscode中无法使用git解决方案

    1 首先查看git安装目录 where git    2 找到bash.exe 的路径 比如:C:/Users/Wangzd/AppData/Local/Programs/Git/bin/bash 3 找到vscode的配置项setting.json 4 添加   \\\"terminal.integrated.shell.windowns\\\": \\\"C:/Users/Wangzd/AppData/Local/Programs/Git/bin/bash\\\"

    2024年02月14日
    浏览(49)
  • Python中使用execjs执行JavaScript代码:方法与常见错误解决方案

     简介和背景:          execjs 库的作用和重要性是在Python中执行JavaScript代码。它允许开发者在Python环境下调用JavaScript逻辑和功能,从而实现Python与JavaScript之间的交互。通过 execjs ,Python开发者可以利用JavaScript的强大功能和现有库,拓展Python应用的能力,实现跨语言的灵

    2024年02月10日
    浏览(25)
  • 使用UiPath和AA构建的解决方案 1. 机器人过程自动化入门

    你好!在这本系列,我们将指导您完成一些真实世界的机器人过程自动化(RPA)项目。感谢您的加入。当你完成本系列时,你将具备使用UiPath和Automation Anywhere在最低指导下进行简单到中等复杂度RPA项目的知识、技术和心态。 RPA是一项令人兴奋的新技术,被视为使用新的先进

    2024年02月07日
    浏览(34)
  • 压力测试-Locust框架基本使用及更新报错解决方案

    近期了解到locust在1.0版本之后出现了部分的改动,使用最新locustio加载时可能会出现一些问题,本文将讲述locust的使用基础及常见的环境异常。 ******【环境方面】****** 报错信息1: 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案:  1、进入pip官网

    2024年02月03日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包