8288分类目录 8288分类目录 8288分类目录
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

今天给没用过Git的新人简单培训了一下

来源:本站原创 浏览:226次 时间:2021-05-05

目前Git已经是大部分公司默认的版本控制工具,也是一个软件开发人员必会的技能。最近公司招了几个刚入行的新人不会使用Git,为了帮助他们快速了解和上手Git,就给他们大致讲解了一些基本操作。

基本设置

Git是分布式的版本管理系统,所以每一个Git客户端必须明确地自报家门,配置你的用户名和电子邮箱,方便大家检索到你(这个 Bug 是不是你写的?)你可以全局配置它们:

 # 全局名称为 felord
 git config --global user.name felord
 # 全局信箱为 felord@felord.com
 git config --global user.email felord@felord.com

如果你不想配置全局,你还可以在具体项目的根目录下 使用 git config --local为该项目添加独立的配置。

初始化 Git 仓库

这是每一个项目被Git仓库托管的开始。假如你的项目已经建立并编写了不少的代码,你可以执行

# 转到代码的目录 执行 git init
cd /path/to/your/existing/code
git init

如果你想初始化一个新的项目并由Git托管。你可以换个方式执行git init命令:

git init <项目的目录路径>

还有一种初始化的方式就是使用git clone命令克隆远程项目到本地,这种方式每一个接触 Git 的人应该已经熟知了。

git clone https://github.com/NotFound403/payment-spring-boot.git
提交变更到本地

然后你编写了一些代码或者改动了一些代码,你需要把这些变更先提交到本地然后才能提交给远程仓库。如果这些代码没有被Git管理,你需要执行:

# 添加文件到Git
git add  /path/file
# git add ./cn/felord/Test.java

然后提交到本地仓库:

git commit -m '提交的信息'

如果想规范提交信息,可参考我的另一篇文章Git 提交规范。

推送代码到远端

如果你是git clone获取的项目,直接使用git push 就可以了。如果你是一个没有关联远端Git仓库的新项目,你可以通过以下命令进行关联:

# git remote add origin  https://github.com/NotFound403/payment-spring-boot.git
git remote add <名称 通常是 origin>  项目的远程仓库地址

当然你可以添加多个远端,比如同时托管到Gitee和GitHub,但是同时只能推送到一个远端仓库。

然后执行下列命令就可以将代码提交的远端仓库:

# 将代码提交到 origin 仓库的 master 分支
git push -u origin master
检出分支

master分支的代码通常只合并完全没有问题的、可发布的代码。通常我们在开发或者修复 Bug 时会切换到其它分支进行,通常有以下几种Git工作流。

GitFlow

你可以使用git checkout命令来进行分支切换,例如切换到dev分支:

git checkout dev

如果你接到一个新需求或者修复一个新 Bug,而且被要求在新的分支上进行开发,则可以通过以下命令来新建并切换到一个新分支:

# 创建并切换到一个新特性开发分支
git checkout -b feature/9527
恢复/保存进度

当你开发着一个需求时,产品经理跑了过来告诉你有一个很急很关键的需求,明天上线!你不得不弄一个新分支,可你当前的需求还没搞完,除非git commit之后才能切换分支。但是把没有完成的工作commit不太利于维护 Git Log。这就用到另一个命令https://www.3tt.net/?mod=artinfo&aid=981git stash了。

git stash save '不急不关键的需求暂存信息'

它可以把你未完成的工作暂存起来。等你完成了很急很关键的需求后再切回对应的分支,然后从stash列表中恢复继续开发。

查看状态

忘记了说另一个有用的命令git status了,它用于显示当前工作目录和暂存区的状态。使用此命令能看到哪些修改被暂存到了, 哪些没有, 哪些文件没有被 Git tracked 到。

> git status
On branch dev
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/main/java/cn/felord/app/util/Coding.java

no changes added to commit (use "git add" and/or "git commit -a")

如果你要查看提交的历史,就得使用另一个命令git log

总结

如果你是一个项目组长或者负责人,需要掌握的更多,可以去https://git-scm.com/book/zh/v2了解更多;对于一个普通开发者,这些基本命令足够应付日常工作了。给他们讲完后,他们很快就适应了 Git 开发工作流。虽然大多数 IDE 已经有替代了这些命令的可视化操作,但是掌握这些命令依然是有必要的。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net