【Git操作手册】工作入职不会Git怎么办,一篇文章带你快速上手

你好,我是萝卜,实习或者刚入职的时候公司代码协作需要使用到Git,而我还没有接触过怎么办?本文带你快速入门Git操作,助你快速掌握Git的使用

git工作流程

Workspace:工作区——>本地写代码的地方

Index / Stage:暂存区

Repository:仓库区(或本地仓库)

Remote:远程仓库

分支命名规范及其意义

master:主分支(线上环境)


develop 或 dev:开发分支(测试环境)


feature/xxx:个人分支(在这块写自己的代码)


查看分支

查看当前分支


git branch

查看所有分支(包括远端分支)以及自己当前所在的分支


git branch -a

创建分支方法一:创建分支并推送远程

流程:本地创建分支 —— 推送新分支到远程

在本地创建分支


git branch 分支名

查看当前分支


git branch

查看所有分支以及自己当前所在的分支


git branch -a

推送新分支到远程


git push --set-upstream origin 分支名

创建分支方法二:从远端master拉取新分支

本地切换到master分支


git checkout master    //master:主分支

拉取远端master最新代码


git pull

创建并切换到新分支


git checkout -b 新分支名称
//例:git checkout -b feature/lsz

推送新分支到远端仓库


git push origin 新分支名称
//例:git push origin feature/lsz

将本地当前仓库关联远端仓库


git branch --set-upstream-to=origin/新分支名称
//例:git branch --set-upstream-to=origin/feature/lsz

切换分支

git checkout 分支名

删除分支

删除本地分支


git branch -d 分支名

删除远程分支


git push origin -d 分支名

修改用户名、邮箱和密码

git config --global --replace-all user.name "修改后的用户名"
git config --global --replace-all user.email"修改后的邮箱"
git config --global --replace-all user.password "修改后的密码"

查看修改完后的用户名:
git config user.name 

查看修改完后的邮箱:
git config user.email

 查看修改完后的密码:
git config user.password

拉取其他分支的代码合并到当前分支

git merge XXX(分支名) 
//例:git merge origin/master //指的就是将远端 master分支与本地的当前分支进行合并

新项目创建本地仓库到推送至远程仓库指定分支完整步骤

初始化项目


git init

建立本地仓库和远程仓库的连接


git remote add origin 远程仓库URL

将远端上的仓库pull到本地


git pull origin 分支名称

创建并切换分支,这里和远程仓库的分支要一致(选择指定推送的分支,使用git branch可以查看分支)


git checkout -b 分支名称

将文件加载到暂存区(如果add错了可以使用git rm --cached 文件名 删除添加的文件)


git add .

将文件提交到本地仓库(-m 为描述信息)


git commit-m "Initial commit"
//例:git commit-m "用户登录功能"

将本地仓库推送到远程仓库


git push origin 分支名称

推送到远端develop分支步骤

在自己的分支先进行提交代码三部曲


git add .
git commit -m "xxx"
git push (如果没有与远端建立连接则需要git push origin 当前分支名)

切换到本地develop分支


git checkout develop

拉取远端develop分支最新代码


git pull 

合并自己的分支


git merge xxx
//例:git merge feature/lsz

解决合并冲突(vscode上手动解决)


合并冲突原则

  • 谁冲突谁处理

  • 不要删掉别人的代码

  • 不要把别人开发中的代码合并到自己的分支

提交代码三部曲完成develop分支代码提交


git add .
git commit -m "xxx"
git push (如果没有与远端建立连接则需要git push origin 当前分支名)

推送到远端master主分支

不从develop分支上直接推送到master上

从自己的分支上发起合并请求,合并到远程master分支

git日志(查看git提交记录)

git log如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值(commit id),作者、提交日期、和提交说明。如果记录过多,则按Page Up、Page Down、↓、↑来控制显示;按Q退出历史记录列表

git log
//结果:
/*
commit 44fb27f9532778cbb1e14867696d6cd67c2d4005 (HEAD -> develop, origin/develop)
Merge:276f1cc 167a77b
Author: user
Date:   Mon Dec 1213:53:002022 +0800

    Merge branch 'feature/lsz' into develop
(以下省略更多记录)
*/

git版本回退

方法:reset复位、revert恢复

方法一:reset


不是很推荐,通过reset的方式,把head指针指向之前的某次提交,reset之后,后面的版本就找不到了

git reset --hard (commit id)

reset回退操作步骤

  1. 使用git log查找到所需要回退到的版本号,即提交记录的commit id;例如下图中黄色字段

  1. 执行前,先将本地代码切换到对应分支

如果你现在feature/xxx分支上,需要回退develop分支上的版本,则需要先切换到develop分支上

  1. 执行命令

git reset --hard (commit id)
例如:
git reset --hard576223db1ee100a79b4f82d6713cef700d723018
  1. (如果远程分支也需要回退到当前版本)强制push到对应的远程分支git push -f -u origin master或者git push -f,此时如果用git push会报错,因为我们本地库HEAD指向的版本比远程库的要旧

方法二:revert(推荐)


这种方式比较推荐,这种方式不会把版本往前回退,而是生成一个新的版本。

所以,你只需要让别人更新一下代码就可以了,你之前操作的提交记录也会被保留下来。

git revert -n (commit id)

revert回退操作步骤:

  1. 使用git log查找到所需要回退到的版本号,即提交记录的commit id

  1. 在客户端执行如下命令

git revert -n (commit id)
  1. (如果远端分支也需要进行回退)执行以下指令,提交代码

git commit-m '版本回退'
  1. (如果远端分支也需要进行回退)同步推送到远程仓库

git push

恢复回退

回退完之后发现不需要回退了,刚才那些消失的代码又要重新恢复,和回退版本同理

  1. 通过git reflog查看本地的操作历史,找到对应的commit id

  1. 再使用git reset --hard commit id就回到之前的操作了

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萝卜说菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值