【git】不同场景下常用git总结

主要记录一下git的实践原理,根据不同场景使用对应的git命令。

使用原理

git分支

git通过分支来管理代码。分支可以理解为提交历史中指向特定提交的指针。

git仓库通常有一个默认分支(主分支)master/main。为了更好管理代码,就可以创建不同分支来开发,防止对同一份代码进行开发一直有冲突。在后期合并开发时可以统一处理冲突。(只要是不同人对同一份代码进行开发,总是会有冲突的,解决就行,不用抗拒)

不同工作区域

在使用git管理代码时,主要有这么几个区域:工作区域,暂存区,储藏区,本地仓库以及远程仓库。

1.工作区(workplace): 即我们开发的区域。

2.暂存区(stage): 一个缓冲区域,修改完的代码在提交之前要放到暂存区,再提交到仓库。这个缓冲的作用 (我现在的理解)

(1)可以选择性的提交更改,可以将自己想要提交的代码放到缓冲区,再进行提交同时还能保留暂不想提交的更改。

(2)在提交之前可以有这个区域,查看将要提交的更改,避免出错。

(3)可以将多次的提交代码分组,版本管理的时候逻辑清晰,便于管理。

3.储藏区(stash): 一个小仓库,可以临时保存对代码的更改。
在切换分支或者做其他任务的时候,将当前更改先放到仓库,是一个比较独立的区域。

场景

场景一

在工作区域对一个分支进行开发的过程大致是:先将远程仓库中分支的最新代码获取到本地分支,在本地仓库进行开发后,将修改后的代码先暂存提交到本地仓库,在将本地仓库代码推送到远程仓库。

# 1.拉取分支最新的代码
git pull  

# 2.将修改暂存
git add .  # 所有修改
git add path/to/file # 暂存特定文件

# 3.将暂存代码提交到本地仓库
git commit -m '提交信息'

# 4.将本地仓库推送到远程仓库
git push

场景二:从分支a拉取分支b进行开发

# 1. 将当前切换到分支a
git checkout a

# 2.在分支a下新建分支b
git branch b

# 3.切换到分支b
git checkout b
### 结合2,3两个代码可以通过以下命令
git checkout -b b

切换分支还可以用switch,相应代码如下

git switch a # 切换到a分支
git switch -c b # 在当前分支创建并切换到新分支

场景三:将分支a合并到分支b

分支a中对代码进行了改动,需要将这些改动都同步到分支b上

# 1.切到分支b
git checkout b

# 2.将分支a合并到分支b(当前分支)
git merge a # 该命令可能后有冲突,手动更改

或者通过cherry-pick,在分支a上有一些改动并提交到仓库中该提交会有相应的哈希值

# 切换到分支b
git checkout b
# 将分支a上的提交commit1合到分支b
git cherry-pick commit1_hash_value

场景四:本地代码与远程仓库建立连接

1.首先在github或者其他平台建立一个仓库(仓库名以repo_name为例)
2.在workplace操作,命令操作的路径为代码文件夹路径

#1.初始化仓库:将本地代码git化
git init

#2.将所有当前文件夹下的代码暂存
git add .

#3.将所有的代码提交到本地仓库
git commit -m "提交信息"

#4.建立连接之前要设置一下用户名与邮箱
#(如果全局设置过了,可以不用再次设置了)
git config --global user.name "username"
git config --global user.email useremail@qq.com # 这边邮箱好像有引号没引号都可以

# 与远程仓库建立连接
git remote add origin '远程仓库的地址'
git push -u origin master

###
-u参数是--set-upstream的简写,它将本地分支与远程分支关联起来。通过使用-u参数,你可以在将来的git push命令中省略远程分支的名称。
origin是远程仓库的名称。在典型的情况下,远程仓库的名称为origin,但也可以是其他名称,具体取决于你的配置。
master是要推送到远程仓库的本地分支的名称。在这种情况下,它表示将本地的master分支推送到远程的master分支。
###
场景四:从远程仓库拉取代码到本地并创建分支进行开发
#1.克隆代码到本地,会将代码克隆在当前目录下
git clone `code_git_url`

#2.创建新分支并切换
git checkout -b dev

#3.拉取代码
git pull

git 路漫漫…

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值