0
点赞
收藏
分享

微信扫一扫

git基本理解和常用

陌岛 2022-04-14 阅读 48
gitidea

Git vs SVN

  • Git是分布式的,SVN是集中式的

  • Git复杂概念多,SVN简单易上手

  • Git分支廉价,SVN分支昂贵

git命令相对多一些, 所以功能也意味着多一些, 用惯了git的话, 一定回不去SVN!

git安装略! 友友们可以在网上找到很多教程!

git基本概念:

  • 版本库

当你一个项目到本地或创建一个 git 项目,项目目录下会有一个隐藏的 .git 子目录。这个目录是 git 用来跟踪管理版本库的,千万不要手动修改。

  • 哈希值

用来发现被git管理的文件状态!

  • 文件状态
  • 工作区域

image-20220414092218119

image-20220414090628955

  • 分支(branch):

分支是为了将修改记录的整个流程分开存储,让分开的分支不受其它分支的影响,所以在同一个数据库里可以同时进行多个不同的修改

主分支(Master)前面提到过 master 是 Git 为我们自动创建的第一个分支,也叫主分支,其它分支开发完成后都要合并到 master

  • 标签(Tag)

标签是用于标记特定的点或提交的历史,通常会用来标记发布版本的名称或版本号(如:publish/0.0.1),虽然标签看起来有点像分支,但打上标签的提交是固定的,不能随意的改动,参见

  • HEAD

HEAD 指向的就是当前分支的最新提交图片

git的工作流程一般是这样的:

Git 的命令实在太多了,日常工作需要掌握add,commit,status,fetch,push,rebase等,若要熟练掌握

掌握rebase和merge的区别,fetch和pull的区别等

常用git操作

git merge --no-ff和git merge之间不同的区别详解戳这里

image-20220414092642649

常用命令:

# 克隆一个已经创建的远端仓库
# 通过 SSH
$ git clone ssh://user@domain.com/repo.git
#通过 HTTP
$ git clone http://domain.com/user/repo.git

# 新建一个本地仓库
$ git init
# 工作区 -> 暂存区
$ git add <file/dir>

# 暂存区 -> 本地仓库
$ git commit -m "some info"

# 本地仓库 -> 远程仓库
$ git push origin master  # 本地master分支推送到远程origin仓库 

# 工作区 <- 暂存区
$ git checkout -- <file>  # 暂存区文件内容覆盖工作区文件内容

# 暂存区 <- 本地仓库
$ git reset HEAD <file>   # 本地仓库文件内容覆盖暂存区文件内容

# 本地仓库 <- 远程仓库
$ git clone <git_url>        # 克隆远程仓库
$ git fetch upstream master  # 拉取远程代码到本地但不应用在当前分支
$ git pull upstream master   # 拉取远程代码到本地但应用在当前分支
$ git pull --rebase upstream master  # 如果平时使用rebase合并代码则加上

# 工作区 <- 本地仓库
$ git reset <commitid>          # 本地仓库覆盖到工作区(保存回退文件内容修改)
$ git reset --mixed <commitid>  # 本地仓库覆盖到工作区(保存回退文件内容修改)
$ git reset --soft <commitid>   # 本地仓库覆盖到工作区(保留修改并加到暂存区)
$ git reset --hard <commitid>   # 本地仓库覆盖到工作区(不保留修改直接删除掉)


# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]

如果同一个文件在合并分支时都被修改了则会引起冲突:解决的办法是我们可以修改冲突文件后重新提 交!

master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建 的dev分支上工作,工作完后,比如上要发布,或者说dev分支代码稳定后可以合并到主分支master上 来。

idea中的git基本使用:

在idea中基本使用:

情况一(从远端clone代码):

  1. 第一步从远程clone代码:

image-20220414104030139

  1. 然后就可以常用操作了

image-20220414104255648

  1. 如果想要本地新建分支, 就直接new一个分支就行

image-20220414104430310

命名遵循命名规范就行

image-20220414104554664

单击相关分支, 可以进行更多操作!

  1. 下拉代码时会出现:

image-20220414084509856

一般就选第一个就行了!

Merge还是Rebase戳这里

在提交到本地仓库后, 就不要下拉rebase代码了,

图文详解 Git 工作原理

如果想要更详细的命令, 就可以看这个三年 Git 使用心得 & 常见问题整理

对开发命令详解全网最全的 Git 分支开发规范手册

Git 教程|菜鸟教程
35a445e59fe9df84f&chksm=e918a31ede6f2a084d39e68721928a416a6a447a0876b74630a4d65011e80e0b1ce65b3ca8a2&token=1267489950&lang=zh_CN#rd)

Git 教程|菜鸟教程

举报

相关推荐

0 条评论