Git复习

Git

Git配置

git config -l :Git的配置清单

git config --system --list :Git的系统配置清单

git config --global --list :Git的用户配置清单

你安装Git后首先要做的事情就是设置你的用户名称和e-mail地址。这是很重要的,因为每次Git提交都 会使用该信息。账号信息会嵌入到你的提交中:

git config --global user.name "jasmin" #名称
git config --global user.email 850489301@qq.com #邮箱

git的基本理论

四个工作区域

  • 工作目录
  • 暂存区
  • 本地仓库
  • 远程仓库

四个区域的转换关系

在这里插入图片描述

git的一般工作流程

  1. 在工作目录添加、修改文件;

  2. 将需要进行版本管理的文件放入暂存区域;

  3. 将暂存区域的文件提交到本地仓库。

    因此,git管理的文件有三种状态:已修改(modified)、已暂存(staged)、已提交(committed)。

创建Git项目

  1. git clone 远程仓库url [-b 提交哈希值或者标签值]
  2. 在本地创建一个工程目录,在这个工程目录下git init

基本操作

#查看所有文件状态
git status
#添加所有的文件到暂存区。
git add .
#提交暂存区中的内容到本地仓库。 -m代表提交信息
git commit -m "newMessage"

origin/master

origin 是 Git 中默认的远程仓库名称。当你克隆一个远程仓库时,Git 会自动将远程仓库命名为
origin。
master 是 Git 中默认的主分支名称。当你创建一个新的 Git 仓库时,Git 会自动创建一个名为
master 的分支。
当你在本地仓库中执行 git pull 或 git push 命令时,Git 会自动将本地的 master 分支与远程
的 origin/master 分支进行同步。

如果是在本地创建的git项目,那么此时需要为该项目添加远程仓库:
git remote add origin 远程仓库url
可以通过git remote -v查看已添加的远程仓库。

如果是第一次推送本地仓库的提交到远程仓库,需要指定推送到哪个仓库的哪个分支
git push -u origin master,将代码推送到远程仓库的master分支。
-u:upstream,建立当前分支和远程分支的关联关系,在后续的git push或git pull操作中,可以不需要指定远程分支的名称,Git会自动推送或拉取与当前分支关联的远程分支。

分支

- 列出所有本地分支
git branch
- 列出所有远程分支
git branch -r

- 新建一个分支,但不切换到新分支。
git branch [branch-name]
- 切换到某个分支
git checkout [branch]
- 新建一个分支,并切换到该分支
git checkout -b [branch]
- 将指定的分支合并到当前所在的分支上。
$ git merge [branch]
- 删除分支
$ git branch -d [branch-name]
- 删除远程分支
$ git push origin --delete [branch-name]

具体来讲:
合并分支
当你在某个分支(比如 master 分支)上执行 git merge [branch] 命令时,Git 会将 [branch]分支的提交历史合并到当前所在的 master 分支上。这样可以将 [branch] 分支上的代码变更合并到 master 分支,实现分支间的代码合并。

解决冲突
如果 [branch] 分支上的修改与当前分支上的修改有冲突,Git 会提示你手动解决这些冲突。你需要编辑有冲突的文件,选择保留哪些变更,然后重新提交合并后的代码。

push时冲突的解决

如果你在push时报了冲突,就说明在你上次拉取远程代码之后,其他人推送了新的提交到远程仓库,远程仓库包含了你没有的提交。这种情况下,Git没有办法确定采取哪些变更,在甲的已提交修改了a文件,在你的提交中也修改了a文件,那究竟要采用谁的呢?

解决步骤如下:
1. git pull :拉取远程仓库的最新变更,并与你本地的代码合并。
2. 解决合并过程中出现的任何冲突。
    (master|MERGING)的意思:使用 git merge 命令,但是在合并过程中出现了冲突,需要你手动解决这些冲突。
    当 Git 仓库处于 MERGING 状态时,你需要编辑有冲突的文件,选择保留哪些变更,然后重新提交合并后的代码。
    只有在解决完所有冲突并提交合并结果后,Git 仓库才会退出 MERGING 状态,回到正常的分支状态。
3. git add . :添加解决冲突后的文件。
4. git commit -m "Merge remote changes" :提交合并后的代码。
5. git push :现在可以安全地将你的本地变更推送到远程仓库了。

Tag

git tag -a "标签名" -m "标签注释":把当前的分支打一个tag
git tag:查看是否打了Tag
tag其实就是一个特殊的分支,是可以通过push推送到远端的。
git push origin 标签名:把指定tag推到远程仓库去。

git的使用思路

master:保留较新的、最稳定的版本
|| 开dev做开发,功能开发稳定后,推到master上去
dev:做一个版本的完整功能的开发,分支命名为dev/v1.0.x --》 1.0.0-SNAPSHOT(开发版)
|| 开release,修改配置后发布Tag,将Tag推到远程仓库后,删除本地的release分支。
release: 做tag的发行,分支命名为release/v1.0.0 --》1.0.0(正式版)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值