github入门教程--基于IDEA

该文章是作者关于GitHub入门的教程,详细介绍了如何使用IDEA终端连接到GitHub仓库,包括初始化本地仓库、配置个人信息、提交代码、建立本地与远程仓库的连接,以及如何将代码推送到远程仓库的特定分支。文章特别强调了分支管理和合并操作,适合初学者参考。
摘要由CSDN通过智能技术生成

github入门教程

最近一直在学习Java,主要还是在学习JavaSE部分,正好使用github作为远程仓库使用。但是发现自己的git命令实在是太拉胯了,只会简单地拉取、提交等操作。对于新建文件夹(本地仓库)怎么关联远程仓库,以及如何推送到远程仓库指定分支什么的操作都是模模糊糊。

然后我就在网上查了一些资料并且试验了一下,在这里总结记录一下自己的使用情况。

软件版本:IntelliJ IDEA 2022.2.1

image-20230226130809967

我的软件界面是采用的新的UI界面,还处于测试阶段,个人比较喜欢新的界面,大家自行参考;

其他软件也是类似的,只是换了一个软件的外壳,本质没有什么变化,所以大家不要害怕,本教程适用于其他软件。

准备工作

  1. 创建github仓库

    创建github仓库

  2. 在本地新建一个文件夹(或者是你需要将代码上传到github的文件下),这里使用IDEA中的代码文件上传作为实验。

    image-20230213195211921

准备工作已经结束了,接下来就是git命令操作。

IDEA终端连接到github仓库

  1. 打开git操作页面,在test文件夹里右键->Git Bash Here(这里我使用的IDEA这款软件,用的IDEA的终端,与git bash here效果一样,唯一的缺点就是git bash here会在后面显示属于哪一个分支)

    这里简单演示查看文件夹路径(这里需要简单熟悉linux系统的部分操作命令):

    pwd 	# 查看文件绝对路径
    clear   # 清屏
    

  2. 初始化仓库

    git init  # 初始化仓库
    # 配置个人信息
    git config user.name '你的github用户名'
    git config user.email '你的github邮箱' 
    
    git config --list --global		# 查看配置信息
    

    因为我已经配置过自己的个人信息了,所以这里只需要演示如何初始化操作和展示配置信息,初始化完成后,当前文件夹下会多出一个隐藏文件夹.git,没有显示的可以勾选文件夹的默认文件夹:

  3. 查看状态并提交代码到本地仓库

    git add . 			 # 添加所有修改的文件
    git commit -m '注释'  # 提交到本地仓库,并进行解释说明
    

  4. 将本地仓库与远程仓库进行连接,并提交到github仓库

    git remote add origin https://github.com/zechaowei/test.git 	# 这里我使用我自己远程仓库的https,使用时修改成自己的就可以了
    git push -u origin master		
    # 相当于下面执行的两句
    # git branch --set-upstream-to=origin/master master//将远程仓库origin的master分支与本地仓库master分支关联
    # git push origin master
    # 一般提交代码格式  --> 下面这些代码内容会在最后再次提到,留意一下即可
    git push origin 本地要上传代码的分支名称:远程你要上传的指定分支名称
    # 另外如果远程仓库上没有dev这个分支,我们执行git push origin master:dev命令的话,它也会帮我们自动创建这个分支
    

    查看远程仓库的链接:

    image-20230213201435991

    这里后面一直报错,一开始觉得是http缓存不够或者网络不稳定,于是输入下面命令:

    git config --global http.postBuffer 524288000
    

    但是后面重新提交的时候还是有问题,查阅资料显示,利用科学上网工具后,网页可以打开github。说明命令行在拉取/推送代码时并没有使用上网科学工具进行代理。于是我刷新一遍后重新提交后即可成功。这里过程就不演示了,展示最后的结果:

    image-20230213203622919

    这里显示new branch,出现了新的分支,这是因为我们在git push时,远程仓库并没有master这个分支(创建远程仓库时默认是main分支),因此会显示新的分支。

    这个时候刷新一下github网页就好了:

    main分支上面会显示保护分支,原因是因为使用Git时,会碰到需要对某个分支进行保护,避免其他人随意push。但是我这里只是简单测试,即使被push也没有什么问题。大家有兴趣可以自行搜索了解。这里可以参考Gitlab分支保护

  5. 查看本地和远程的所有分支

    git branch --all # 查看本地和远程的所有分支
    

    绿色是本地仓库分支,红色是远程仓库分支

本地新建项目提交到远程分支上面

无论是在本地仓库还是远程仓库上,特别是在做项目的时候,一般都是不会直接提交到master(主分支),都是提交到另外一个分支,如dev分支。

当然在本地你可能为了方便直接在master上开发代码,但是一般最好都是另建一个分支,开发好一定的代码,再合并提交到master分支,最后在推送到远程仓库的dev分支。(你的boss不会让你直接提交到master分支,因为可能还有别人同时也在开发,boss会将你们的代码合并然后才提交到master分支)

接下来实现在本地新建一个dev分支,修改内容后提交到master分支,然后提交到远程仓库的dev分支。

  1. 本地新建分支

    git checkout -b dev # 创建并切换到dev分支
    # 当然也可以使用一下命令
    git branch dev		# 创建dev分支
    git checkout dev	# 切换到dev分支	
    

    这里展示分支的效果不明显,使用git bash here切换分支时,会在末尾显示哪一个分支。使用idea时,软件的左上角会显示版本控制,也可以通过软件左上角查看

  2. 现在回到我们原来要提交的文件夹里新建一个test.txt文件,这个时候我们是在dev分支下进行操作的

  3. 分别查看dev分支和master分支情况

    git status			   # 查看dev分支状态
    git checkout master		# 切换到master分支
    git status		        # 查看master分支状态
    

    执行上面命令,显示test.txt文件为未追踪文件。那么什么是未追踪的文件呢?那些新创建的或者从未add过的文件就是未跟踪的。此时有以下几种情况:

    1. 我们创建了文件,并未提交上去的,这种情况下只要add就可以了,最后终端会显示了git add <file> ...,add的文件也会变为绿色。(常见情况)
    2. 必须放在git工具目录中,但又不能提交了,比如保存了数据库密码的配置文件等的东西。
    3. 我们不准备提交又没用的。
  4. 切回到dev分支去提交代码看看

    git checkout dev  # 切换到dev分支
    git branch        # 查看当前分支状态,确定切换到dev分支
    git add .         # 添加所有修改文件,也可以指定添加文件夹git add test.txt
    git status        # 显示当前分支状态
    git commit -m '添加test.txt'	# 提交
    

    这时候再我们原来要提交的文件夹下看看,记得我们此时是在dev分支下的 ,可以看到dev分支下,test.txt文件已经提交到本地仓库了

    git branch # 查看当前分支
    

    查看dev分支下面的文件,发现包含test.txt文件:

    这时,我们将分支切回到master分支,再看看文件

    git checkout master		# 切换到master分支
    

    切换到master分支后,没有test.txt文件了,因为代码只提交到了dev分支,所以在master是看不到这个文件的。

合并分支

  1. 将dev分支的代码合并到master

    注意:此时是已经在master分支,所以不用切换分支,一般要把文件或者代码合并到哪个分支,就要git checkout到哪个分支

    git merge dev 		# 把dev分支的更改和master合并
    

  2. 将更改的代码推送更新到远程仓库上

    一般都是执行git push,直接将本地的master直接提交到了远程的master(一般这样做可能会被boss diss😐😐😐)

    我们应该将我们的代码push到另外的分支(通常是你的boss给定的分支)我们先看看github上面的分支情况:

    正常创建一个空的仓库时,只会有main这一个分支,但是前面执行过git push -u origin master命令,并且提到如果远程仓库没有这个分支,它会自动帮我们创建这个分支。

    这里我们就手动创建dev分支(也可以使用git命令,这里只是多一种演示方式,最后效果都是一样的,了解即可)

    创建好后,我们就可以看见一个dev分支了。(最后push的时候出现了问题,后面又删除了这个手动创建的dev分支)

  3. 将本地的master提交到远程dev分支上(此时我已经删除了dev分支了,大家注意操作,如果已经操作了,可以接着向下看,并提供了解决方法)

    git push origin master:dev
    # git push origin 本地要上传代码的分支名称:远程你要上传的指定分支名称
    # 另外如果远程仓库上没有dev这个分支,我们执行git push origin master:dev命令的话,它也会帮我们自动创建这个分支
    

    这里自己当时出了问题,显示一下问题:

    image-20230214000642446

    后面我删除了远程仓库的dev分支,再次执行git push origin master:dev

    image-20230214001322502

    最后推送成功了,并且显示new branch新的分支。

    网上查找资料后,提供以下资料供大家参考:git推送报错“! [rejected] master -> master (fetch first)解决办法、[git将本地内容传送到远程仓库出现[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B5OiLpHR-1681403638147)(null)]

  4. 执行完了刷新github, 看看GitHub上的情况

    最后在github的test仓库中已经push成功了,并且查看master分支和dev分支,因为在执行将本地仓库与远程仓库进行连接,并提交到github仓库这个操作时,我的文件夹本身就不是空的,包含了master分支中的所有内容,而dev分支比master分支多了test.txt这个文件,是因为当时比对master分支和dev分支的区别时在本地的dev分支下就增加了test.txt文件,所以在最终显示中dev分支比master分支多了一个test.txt文件。

OK,到这里,就已经完成将本地的代码从本地仓库上传到远程仓库的所有过程了。对于以上内容有什么错误的地方,敬请指正,麻烦指出来哦!

参考文章:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WeiComp

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值