Idea中Git的基础操作
Git1、idea创建连接git的三种方式1.1gitee建仓库并复制SSH地址-》新建一个idea项目-》运行 git init初始化本地git环境-》右键GitManage Remotes(管理远程)-》将本地仓库推送至远程仓库传入SSH地址方式1是最原始的方式学会1可以彻底理解push到远程的整个过程gitee建仓库并复制SSH地址运行 git init初始化本地git环境右键GitManage Remotes(管理远程)将本地仓库推送至远程仓库传入SSH地址-》等效的命令行操作是git remote add origin SSH地址push:gitadd.gitcommit-m第一次commitgitpush-uorigin master1.2gitee建仓库-》克隆到本地-》新建一个idea项目-》将克隆文件复制粘贴到idea项目中狂神教程)pushgitadd.gitcommit-m第一次commitgitpush //注意这里可以不加-uorigin master因为克隆法已经绑定了对应分支了1.3gitee建仓库-》克隆到本地-》在克隆的文件夹下建立idea项目2、3本质相同都是先克隆克隆下来的项目自带git环境push:gitadd.gitcommit-m第一次commitgitpush //注意这里可以不加-uorigin master因为克隆法已经绑定了对应分支了2、先建立本地仓库再推送到gitee和克隆法的区别2.1 git分布式版本控制的本质首先一定要理解对于git这种模式来说每一个操作者包括gitee提供的服务器都是完整的git项目。每一个个体都有自己的git环境git init、可以进行add . |commmit|push的操作。也就是说如果你自己申请一个服务器然后把自己本地的git项目放在自己的服务器上那你就是gitee。gitee的特殊点就在于他是一个公开的服务器只要连接到服务器就可以进行本地到服务器的远程传输。同理如果有两个本地的git项目他们都没有作为服务端存在他们之间是做不到直接互传的。只能通过他们共同连到的那个服务器来传输。2.2 本地git项目提交到gitee建立连接的过程关系到后面出现的中文乱码问题1、输入具体的SSH地址 # gitee建库后提供的SSH地址gitremoteaddorigin SSH地址2、使用SSH钥匙进行验证 #拿着自己的私钥去敲门gitee拿出提前存的公钥进行验证通过之后连接成功。2.3 建立连接后进行push操作注意我使用的是非克隆方式最原始的本地git项目 push到gitee的过程。其实克不克隆都要经过这些步骤只是克隆后会默认配置SSH和gitee中已经存在的分支结构。gitadd.gitcommit-m第一次commitgitpush-uorigin mastergit push -u origin master(这行命令的意思把当前本地的当下目录的分支master(一般最开始默认的是master)推送到远程仓库的master分支上并且把这条对应关系记下来以后你再在这个目录下敲git push就不用加这串这么长的参数了。)tip:关于git push命令会在下面的git分支部分具体说一下2.4区别言归正传直接克隆gitee上的和自己新建一个项目再git init本质都是初始化了一个本地的git项目区别在与我使用克隆操作后自动绑定了SSH地址和对应的分支结构。gitclone[url]# gitee建库后提供的SSH地址也就是说我用克隆法后1、不需要再使用传入SSH地址因为已经绑定了gitremoteaddorigin SSH地址2、克隆后已经存在的分支结构本地的和gitee上的默认一一对应好了push这些已经对应好的分支直接push就行。如果gitee那边定义了新的分支此时本地不会再绑定了新的分支了。gitpush如果本地仓库没有绑定SSH地址直接push会报错没有连接PS D:\ideaProject\git\git3gitpush fatal: No configured push destination. Either specify the URL from the command-line or configure a remote repository usinggitremoteaddnameurlandthenpush using the remote namegitpushnameTo push to multiple remotes at once, configure a remote group usinggitconfig remotes.groupnameremote1 remote2andthenpush using the group namegitpushgroupname3、解决中文乱码问题问题发生在我使用push时发现会因为我的用户名时中文名而且还是繁体中文名导致gitee找ssh私钥验证时找不到私钥在哪导致没办法正常的push。push会触发ssh私钥验证过程一旦路径错误就会导致动作失败。所以本质是只要涉及验证私钥的过程你这个路径问题没有解决都会报错。原因解决办法直接配置好全局的私钥路径以后git会严格按照给的绝对路径找就可以正确的找到私钥了。gitconfig--globalcore.sshCommandssh -o UserKnownHostsFileC:/Users/沨烨/.ssh/known_hosts -i C:/Users/沨烨/.ssh/id_rsa补充一下为啥我使用这个操作就不用猜呢这不也给了中文路径吗4、git分支4.1 分支的基础操作# 列出所有本地分支gitbranch# 列出所有远程分支gitbranch-r# 新建一个分支但依然停留在当前分支gitbranch[branch-name]# 新建一个分支并切换到该分支gitcheckout-b[branch]# 合并指定分支到当前分支$gitmerge[branch]# 删除分支$gitbranch-d[branch-name]# 删除远程分支$gitpush origin--delete[branch-name]$gitbranch-dr[remote/branch]4.2推送分支场景git推送本地分支到远程分支的情景默认推送当下分支到目标分支并绑定gitpush-uorigin master不看当下分支将指定的本地分支推送到远程的分支上在分支名不匹配时会用到gitpush-uorigin master:main5、总结git教程建议看狂神,本文主要记录idea连接远程仓库时的问题看完狂神的git教程后再看本文会更舒适一些。千万别把用户名设置为中文特别还是繁体。自己时不时会因为中文路径而出现bug。我也曾经想要直接改掉中文名后来发现这事很麻烦很容易就把文件弄丢了。还有DeepSeek真好用。