这是我参与「日新计划 4 月更文挑战」的第6天,点击查看活动详情。

大家好,我叫小杜杜,在项目管理上,我们会将所有的代码放在一个版本控制的平台,一个是集中式版本控制,一个是分布式管理控制。两个模github是什么式的代表开源阅读分别是 svngit,随着时间的推移,使用git的公司越来越多,已经逐渐取代svn了,所以今天就来gitlab是干什么用的讲讲常见的 git操作,如果你对git不太熟悉,或者有相关的问题,相信这篇文章一定能够帮助你,还请大家多多支持~

什么是git

git: 是一个开源分布式版本控制系gitlab官网统,用于敏捷高效地处理任何或小或大的项目。

工作区域的三种状态

git的工作区域主要分为三种状态:已提交(committed)已暂存(stgitlab登录aged)已修改(modified)github官网

  • 已提交:在git上存在的代码
  • 已暂存: 代码提交到了本地,但未提交到gigithub开放私库t仓库
  • 已修改: 只对github永久回家地址拉下的代码可视化图表进行简单的修改,未提交过

如何绑定git(ssh方式)

在这里推荐使用ssh方式,我们在git上找到Sett可视化图表ing在找到SSH a可视化nd GPG keys,就是这样:

这些git技巧,你都会了吗?

  • 首先你需要绑定自己的git账号
$ git config --global user.name "git用户名"
$ git config --global user.email "git邮箱"
  • 然后执行:
$ ssh -keygen -t rsa -C 邮箱 // 此时已经生成了key
  • 查找:
$ cd ~/.ssh
$ open id_rsa

此时会弹出key的文件,复制到git上就OK了

可视化工具

这里推荐一个可视化工具:GitHub Desktop

有的小伙伴可能Git觉得使用工具比较low,就喜欢敲命令,我在这里想说下,命令固然重要,但直可视化工具接使用可视化的工具无疑减少了大量的时间,尤github其是在合并冲突查看commit记录上可视化管理非常方便,所以还是推荐使用这个工具(但至少git命令你要熟悉相关git教程的命令开源~~)

常见情况gitlab安装

首次提交文件gitlab到git

当我们想要开源中国将文件提交到git 上,需要先进行 git init,然后创建README.md(描述文件),然后 git remogitlab搭建te 链接到对应的库,再 git pu可视化管理sh 即可

     git init
     git add REMADE.md
     git add .
     git commit -m 'xxx'
     git remote add origin git@github.com: xxx/xxx.git
     git push -u origin master

查看可视化图表分支、切换分支、gitee合并分支

  • 查看分支: 通过 git branch 即可,git仓库可通过git branch -a完成
  • 合并分支: 通过 git merge 分支名(需要开源代码网站github合并的分支)即可
  • 切换分支开源代码网站github 分两步,第一步创建分支git branch test01 第二部切换分支git checkout test01
  • 切换分支的两步可以合github永久回家地址成一步,用 git checkout -b test01 即可
  • 需要注意,此时只是在本地创建了分支,还需要把分支再 git push

分支提交错了,版本回退

情况一:我现在有两个分支,分别是 test01 和 test02, 我要在 test02 上开发github永久回家地址,但此时的分支在test01,此时提交到了github是什么本地,并未提交到git仓库上该如何做?

情况二:还是上可视化分析述情况,只不过这时已经 commit 上了,已经同步到git仓库了,然后发现提交错了,提交成了 test01,那么现在应该如何操?

情况三:还是上述情况,但我这次提交的就是 test01,并且把开源是什么意思代码发到了测试环境,但这是又个产品跑过来,气喘github官网吁吁的告诉你,先别发,我要再看github永久回家地址看之前gitlab注册的,好github永久回家地址家伙,要回推到了之前的版可视化本,如何做?

针对上面的三种情况,实际上是两种,情况二和情况三是一种,都是已经提交到了 git 仓库,要将git仓库回退到之前的版本,而情况一则是提交到了本地,还未提交到git

我们这时就需要使用gitreset这个命令

首先,你要知道回退有两种方式:

  • HEAD: 代表你要回退的前几步,如过你要回退上一步的操作,就是HEAD^1 (简写:HEAD^)
  • hash值:适合回退比较靠前的版本,通开源节流常可以使用 git log 查看,如:

这些git技巧,你都会了吗?

接下来再介绍下 git reset 的三种模式

  • –mixed:不会删除本地代码,撤销 commit 操作,并且撤销 git add . 这个操作
  • –soft:与 --m开源是什么意思ixed 一样,但不能撤销 git add .(至于是否撤销git add . 个人觉github直播平台永久回家得不重要)
  • –hard:撤销 commit 操作,并且删除所有本地改的代码,回退到制定的版本(一定要慎用,要不然估计你写的代码直接就没了,直接芭比Q~)

所以针对回gitlab是干什么用的退的建议使用 –soft–mixed, 顺便做个对比:

这些git技巧,你都会了吗?

针对情况一:只需要使用 git reset --soft HEAD^就行

情况二和情况三:最大的问题是,我本地代码已经变了,但git仓库上的代github官网登陆入口码没变,并且还提示我再 git pull,那么解决办法也很简单,强制push下,所以在reset的基开源众包础上执行:git push -f origin 分支名 即可

做完了整个需求,但只上部分需求

情况:当做一个非常大的需求时,拆分多个小需求,分别 commit,但每个功能是按照顺序依次上的,比如说今天上第一个,明天上第二个,..gitlab官网注册入口.,这时就需要将整个代码拆分,如何做?

正确的操作流程是,先把master的代码恢复到之前开源中国,然后在开发这个大需求的基础上,以次分离出GitLab代码,创建对应的分支

  • 首先,先通过log来拿到对应的hash值,假设:abc123
  • 然后创建一个新分支,并切换到该分支,假设 test01
  • 然后通过 git cherry-pick abc123,就OK了,但注意此时可能会有冲突

把分支删了怎么办

情况一:我不小心把我本地的分支(已在git上存在)删了怎么办? 情况二:我想删Git除git仓库的分支怎么办?

针对情况一:删除本地分支:gitbranch-D分支名

删除了本地分支,但git上还存在,直接github官网登陆入口使用 git checkout 分支名(刚本github中文社区地删除的分支名)此时会直接下载

针对情况二:删除远程分支:

  • gitpushorigin--delete分支名
  • gitpushorigin:分支名github中文官网网页简写)

注意gitlab是干什么用的:删除完git仓库的分支后,本地实际上还是存在的,只不过这时需要重新提交

提交的commit太多了,最可视化数据图表后不方便看到底改了啥

在开发中我们要常常切换gitlab安装分支,但切换分支就必须先把代码提交到本地,这样一个功能下来,本地这边就会有非常多的co开源众包mmit,同时也不好看具体改了哪些文件,要一个个找,我gitlab注册现在就想要不过提交多少个commitgithub,最后合并成git命令一个,该如何做?

熟悉的小伙伴知道,在GitLab有一个 Merge requests的功能,会将代码合并,没错就是实现这个效果。

  • 首先我们通过git log获取对应的哈希值,假设:abc123
  • 然后通过 git reset --soft abc123回到之前的版本
  • 之后在 git commit 一次就能合并了

这里需要注意,如果已经上传了git仓库,在切回的时候,强制上传一波,消除之前的commit就行了

代码冲突了,怎么搞?

开发github开放私库的时候难免会代码冲突,这时我们该怎么办?

通过 git status 可以看到文件,也可以用更为简单的办法看到文件的状态, git status -s 之后解决就行了

当然这里建开源议直接使用: GitHub Desktop,这东西是真方便,一眼看出哪些文件有冲突,一键选择用那个分支的代码,方便你我他~

End

致此,我总结了下在工作中常用的操作,相信这篇文章足以在工作上可视化管理游刃有余了,大家有什么常见的gitgit教程操作可以在下方留言,共同进步,喜欢的点个赞支持下吧(● ̄(エ) ̄●)