您现在的位置是:首页 >技术交流 >git学习网站首页技术交流
git学习
初始化仓库
git init 初始化
git clone 拷贝远程仓库
通过git clone命令可以拷贝远程仓库:
git文件状态
git文件状态分为:未跟踪、未修改、已修改、暂存
一开始初始化的仓库的文件都是未跟踪状态,使用git add 命令即刻将其变为暂存状态,git commit之后所有的文件变为未修改状态,我们上面通过git clone得到的所有文件一般都是未修改状态。
这样我们就将test.txt提交到本地仓库
可以利用git reset head~ --soft
来取消这次提交
我在本地commit了test.txt文件然后通过该命令取消
然后利用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中常用的操作和以上类似。