github操作:
1. 首次提交本地项目到github首先需要有一个github账号,之前注册了一个,但是没有怎么玩过,只是在github上下载过别人的代码,趁着周末,自己也倒腾倒腾怎么玩的,记录一下。
注册账号可以参考:如何注册一个自己的github账号
之前看过一篇博客学习了写关于git的使用,真的是超级详细的那种,遗憾的是博客地址没有保存下来,刚找了半天没找到,关于git的基础,还是先看看入门的文章,网上也比较多,找一个先知道几个常用的命令的用法才行。
然后就是提交本地的项目代码到自己的github账号之下了。
首先是登录自己的github账号,创建一个仓库,用来存放待会要上传的项目:
点击Create repository 会进入下面的页面,这里有两种方式可以提交代码:
在你已经安装好git的电脑上,进入要上传的文件夹下,右键打开git的命令窗口:
比如我的是这里:F:\test\IDEA\github
在这个文件夹下有一个项目:Springboot-demo
我打算把这个提交到github上:
再输入 " git add . ", 这个是将当前文件夹下的所有的文件添加到仓库中,如果想添加某个特定的文件,只需把’ . '换成这个特定的文件名即可。
然后使用:git status
可以查看缓存区的文件(待提交的文件)
提交到本地仓库:git commit -m “注释内容”
输入 :git remote add origin https://github.com/linmengmeng-1314/LearnSpringboot1.git
,需要换成自己的仓库url地址" 将本地的仓库关联到github上
最后一步,输入 "git push -u origin master ",这是把代码上传到github仓库的意思。
在github中刚才创建的仓库页面刷新就可以看到刚刚上传的项目了:
当添加新的文件,再次上传时,如果报错:
! [rejected] master -> master (fetch first)
需要先更新一下本地仓库,使用git pull
然后再次添加要提交的文件,git add a.txt或者git add doc
查看:git status
添加注释:git commit -m “注释”
提交:git push(这里直接push,是因为已经将本地仓库使用master提交过了)
如图:
此时上次使用push命令提交后,输入用户名密码,提示用户名密码错误,其实是没有错的
按理来说,密码输入错误,不应该提交成功的,但是这里提交成功了,本地仓库使用git status
查看,也不显示存在未提交内容了,而github里面确实没有新提交的内容。
然后再次使用git push
输入用户名密码,却正常提交了。
可见,在使用git status
并不能完全确定是否将本地代码同步到远程分支上去。如果在使用git push
,输入用户名或者密码失败时,这时,git工具,会正常将文件推送到本地仓库中,但是还需要再次合并到远程仓库。
这里要补充一下git status
命令的作用了:
在当前分支下修改或者新增文件之后,使用git status
可以看到两类文件。
- 交由git工具管理的文件,即文件夹在工作区(
Changes to be committed:
) - 暂存区状态的文件
- 未跟踪状态(
Untracked files
)
Changes to be committed
:表示已经从工作区add到暂存区的file(文件或文件夹),可以通过 git restore --staged filename
命令将该file从暂存区移出,只有工作区有该文件,该文件就为Untracked files
。
Changes not staged for commit
:表示工作区,暂时区都存在的file(文件或文件夹),在工作区进行修改或删除,但是没有add到暂存区,可以通过 git add file
命令将变更(修改,删除)的file add到暂存区,此时该file没有Changes not staged for commit
状态,也就是Changes not staged for commit将没有改file的记录了。可以通过 git restore file
的命令取消在file在工作区的变更,那么暂存区的file内容还是以前的,并且file在Changes not staged for commi
状态下没有记录。
Untracked files
:表示只在工作区有的file(文件或文件夹),也就是在暂时区没有该file。在工作区,但是未纳入Git管理的文件,不参与版本控制。 使用git add命令即可将未跟踪文件纳入暂时区管理,移除暂存区使用:git restore --staged filename
。
Modified
状态: 纳入跟踪的文件在工作区中被修改后就会处于Modified状态。