您现在的位置是:首页 >技术交流 >git学习网站首页技术交流

git学习

蓝鲸不蓝369 2024-06-20 12:01:01
简介git学习

初始化仓库

git init 初始化
git clone 拷贝远程仓库

通过git clone命令可以拷贝远程仓库:
在这里插入图片描述

git文件状态

git文件状态分为:未跟踪、未修改、已修改、暂存
在这里插入图片描述

一开始初始化的仓库的文件都是未跟踪状态,使用git add 命令即刻将其变为暂存状态,git commit之后所有的文件变为未修改状态,我们上面通过git clone得到的所有文件一般都是未修改状态。
![[Pasted image 20230521172351.png]]

这样我们就将test.txt提交到本地仓库
可以利用git reset head~ --soft 来取消这次提交

![[Pasted image 20230521174208.png]]

我在本地commit了test.txt文件然后通过该命令取消
![[Pasted image 20230521174323.png]]

然后利用git status发现原来的test.txt在暂存区了
在这里插入图片描述
git log利用该命令可以查看历史提交记录
由于项目老师没有给权限,因此我们换个仓库来学习。
在这里插入图片描述
这里无法push,我们利用token鉴权的方式来上传。在这里插入图片描述
上传成功

分支

在这里插入图片描述
master和develop并行。
● master上始终是最稳定的代码,develop是正在开发的代码。
● feature则是某个开发为了自己的功能拉的分支。
不一般情况:
● develop正在开发,如果你上线突然被拒绝了,这时候就要从master上开一个热分支,或者release分支也行,改好之后在分别合并到其他分支。但,本人感觉release通常意味着终止。别在从release上拉分支了。

新建分支和切换分支比较简单,这里不再赘述。
接下来是合并分支:
在这里插入图片描述
feature1和freture2是master的分支,然后我分别在freture1和freture2里面新加了一个test_file文件。
在这里插入图片描述
我们看到文件冲突了,接着在修改文件处理冲突,然后commit在这里插入图片描述
在这里插入图片描述
创建远程跟踪分支:
git checkout --track origin/branchName

储藏

如果我在master里修改了代码,但是没有commit,这个代码的修改会带到我要checkout的那个分支上。但一般情况下我们不能直接commit没有完成的代码,因此我们可以利用git stash命令
在这里插入图片描述
当我们修改完bug可以利用git stash apply命令来获取之前存储的信息。

 git stash apply stash@{1}  ///恢复到某个存储
 git stash list //列出所有情况
 git stash drop stash@{i} //将第i个删除
 

如果目录不干净的话我们无法再apply。

ReSet功能

git reset head~ --soft

  • head的波折号就代表第几次的提交。
  • –soft就是取消commit状态但是git add的不会取消
  • –hard就是不仅取消暂存区还会取消所有修改

rebase

rebase操作确实非常方便,能让我们的提交记录变得好看点。
在这里插入图片描述
在这里插入图片描述

但是如果我的代码提交到了远程,别人需要从我的代码去修改,那这时候就不能rebase。

在GoLand中使用git

GoLand中常用的操作和以上类似。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。