git实战

git,实战 · 浏览次数 : 132

小编点评

**Git基本使用教程** **一、git安装** 由于公司使用的是Windows系统,因此安装git就更加简单快捷。以下是如何安装git的: 1. 打开官方网站的下载页面:`git-scm.com/download/win2` 2. 选择下载 latest版本 3. 双击下载按钮,等待下载完成 4. 安装完成后,运行`git --version`命令,检查版本信息 **二、基本使用场景及命令** 1. 创建一个空的文件夹,然后进入该文件,打开 `git bash` 2. 初始化git,输入命令:`git init` 3. 此时我们就可以使用git 管理该文件夹 4. 创建一个文件,在执行 `git status` 命令,可以看到有个 `test1.txt`的文件待提交 5. 将所有文件添加到暂存区,使用 `git add .` 命令 6. 执行 `git commit -m "dev分支第一次提交"` 命令,将所有文件添加到暂存区 **三、分支开发和提交** * 切换到dev分支:`git branch dev` * 提交代码:`git add .` * 执行 `git commit -m "dev分支第一次提交"` 命令 **四、切换分支和合并** * 切换回master分支:`git branch master` * 查看文件状态:`git status` * 如果此时,我们dev分支的功能开发完成了,需要合并到maser分支,让线上使用此时我们用 `git merge` 命令先切换到master分支,然后执行 `git merge dev` 命令 * 正常情况下,dev分支的代码已经合并到master分支了,dev分支就没有存在的必要了,我们需要把他删除掉 **五、远程仓库管理** * 创建远程仓库地址:`git remote add origin xxxxx` * 拉取远程仓库代码到本地:`git clone remote origin xxxxx` * 更新本地代码和远程一致:`git pull origin dev` * 配置免密登录: * `a`、`http`方式配置远程仓库地址:`git remote add origin https://用户名:密码@仓库地址` * `b`、`ssh`方式本地生成公钥和私钥:`ssh-keygen.exe` * 拷贝公钥到github的ssh密钥地方

正文

最近公司又来一批小伙伴,对git的使用非常陌生,我就安排给大家讲了下git的基本使用,今天也总结下发到博客园上和大家分享

 

一、git安装

由于公司都是用windows,本屌丝也是用windows,所有这里就只讲windows的安装

windows的安装非常简单

1、下载git:https://git-scm.com/download/win

2、双击后一路下一步即可

3、检查是否安装成功,鼠标右键,有下图所示证明安装成功

 

4、点击 git bash,查看当前安装的版本

$ git --version
git version 2.30.0.windows.2

  

到此为止git我们就安装完成

 

二、基本使用场景及命令

1、创建一个空的文件夹,然后进入该文件,打开 git bash

 

2、初始化git,输入命令:git init,此时我们就可以使用git 管理该文件夹

 

3、此时我们就需要介绍下git本地管理,一共有三大逻辑区域

 

我们一般就在工作区

a、git status:查看当前工作区的状态

 此时我们新建一个文件,在执行git status命令,可以看到有个test1.txt的文件待提交

 b、此时我们执行 git add命令,将工作区的文件提交到暂存区

 c、此时我们执行git commit -m “xxxxx”,将暂存区的文件提交到版本库区

git commit -m "git第一次提交"

  

 

然后我们可以执行 git log查看提交记录

git log

  

 

 

然后我们一般会给这次提交打一个tag,执行 git tag -a 版本号 -m 版本描述

git tags -a v0.1 -m "第一个版本"

  

 

 

此时我们就把最主流的一条路走完

 

 4、前面我们讲了文件如何从左向右移动,这一节我们讲下文件如何从右向左移动

为了让大家看的i清楚,我先修改下文件,然后多提交几次变更到版本库区域

 

 

当前的文件处于第四个版本的状态

 a、首先从第四个版本直接回到第一个版本的工作区已经管理的状态

 git reset --hard 745cf9a2ec997cf9fca7d9d0f0f655807438eee2

  

 

 

b、下面我们演示git checkout功能,从变更区回到已管理里区

$ git checkout test1.txt

  

此时我们在修改文件

 

 

 

此时要注意,我们git log会查不到所有的提交记录,此时查看记录我们需要用git reflog命令

$ git reflog

  

 

 

大家观察下,发现这2个命令的区别么

git log是查看当前提交记录之前的提交记录

git reflog是查看当前提交记录之后的提交记录

 

从右往左的文件流转最常用的命令就讲完了,我们更新下我们的逻辑图

 

c、下面我们讲下从右往左一些不常用的命令

 

版本库区域回到暂存区

git reset --soft 745cf9a2ec997cf9fca7d9d0f0f655807438eee2

  

暂存区回到修改过的文件或者新增文件的状态

git reset HEAD test1.txt

  

 

 

 

此时在执行git checkout 回到已经管理的 状态

 

 

从版本库回到新增文件或者修改文件文件状态,同样在执行git checkout 可以回到已管理文件区域

git reset --mix 745cf9a2ec997cf9fca7d9d0f0f655807438eee2

 

 

 

 

最终,我们把整个文件流转的图更新下

 

5、讲下git分支

正常情况下,master分支是我们的线上分支,我们实际开发需要在dev分支上开发

a、查看当前分支: git branch

 

b、创建分支、切换分支、删除分支

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (master)
$ git branch dev

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (master)
$ git checkout dev
Switched to branch 'dev'

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git branch
* dev
  master

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git branch -d dev
error: Cannot delete branch 'dev' checked out at 'D:/test'

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git branch
* dev
  master

  

 

c、在分支上提交代码

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git branch
* dev
  master

//切换到dev分支

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ 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:   test1.txt

//修改文件

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git add .

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git commit -m "dev分支第一次提交"
[dev be36c1a] dev分支第一次提交
 1 file changed, 3 insertions(+), 1 deletion(-)

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git tag -a v0.0.1 -m "dev第一个版本"

admin@LAPTOP-SDS5GNTD MINGW64 /d/test (dev)
$ git log
commit be36c1aba0d7cbaf7d962f54d24a05ab91cf6889 (HEAD -> dev, tag: v0.0.1)


    dev分支第一次提交

//在dev分支提交代码

  

 

 

 

d、此时我们切换回master分支,查看文件的状态

dev分支的文件状态

 

master分支的文件状态

 

e、如果此时,我们dev分支的功能开发完成了,需要合并到maser分支,让线上使用

此时我们用 git merge命令

先切换到master分支,然后 执行 git merge dev ,合并dev分支到master分支

 

f、正常情况下,dev分支的代码已经合并到master分支了,dev分支就没有存在的必要了,我们需要把他删除掉

$ git branch -d dev
Deleted branch dev (was be36c1a)

  

 三、结合gitlab

1、如何更新本地代码到gitlab

git remote add origin 你的仓库地址
git push origin master

  

git remote add origin xxxxx 的意思是,以后origin就代指远程仓库的地址,以后就不用写那么长的远程仓库的地址了,也就是给远程仓库起别名,这里不一定要用origin,可以用任何名字

git push origin master的意思是,推送本地master分支的代码到远程仓库,也就是origin代指的仓库

 

2、首次如何拉取远程仓库代码到本地

git clone 远程仓库地址

  

3、后续如何更新本地的代码和远程一致

git pull origin dev

  

拉取远程仓库的dev分支代码到本地

 

4、gitlab如何配置免密登录

a、http的方式

git remote add origin https://用户名:密码@仓库地址

git push origin master

  

b、ssh的方式

本地生成公钥和私钥

$ ssh-keygen.exe

  

 

 

c、然后拷贝公钥到github的ssh密钥的地方

 

d、本地用ssh的方式配置远程仓库地址即可

git add remote origin git@仓库地址

  

 

四、解决冲突

我们在合并merge经常会有文件冲突,此时我们只能手动解决冲突。此时我们借助软件beyond compare来解决

我们可以做如下配置

 

 

配置:--local的意思是只对当前的项目生效;

git config --local mergetool.keepbackup false的意思 解决完成冲突后的旧文件不要做备份

 

如果出现冲突,则调用git mergetool 就可以开始解决冲突

 

五、gitignore文件

配置忽略文件,常用的语法如下

 

 

 

与git实战相似的内容:

git实战

最近公司又来一批小伙伴,对git的使用非常陌生,我就安排给大家讲了下git的基本使用,今天也总结下发到博客园上和大家分享 一、git安装 由于公司都是用windows,本屌丝也是用windows,所有这里就只讲windows的安装 windows的安装非常简单 1、下载git:https://git

通过实战操作学git

虽然说 ”好记性不如烂笔头”,但是学习不看等于没学,学习不用等于不会,所以说”实战才是检验真理的唯一标准“,通过实战则会学到很多东西。 因为陈** 太懒,并且不喜欢查百度,老是犯同样的问题,于是我通过完整的操作git流程和一些实战中的场景,将常用git流程和命令整理了下来,这样也方便我女盆友带入学习

保姆教程系列:Git 实用命令详解

!!!是的没错,胖友们,保姆教程系列又更新了!!! @目录前言1.将本地项目推送到远程仓库2. Idea Git回退到某个历史版本3. 修改项目关联远程地址方法4. Git 修改分支的名称5. Git 删除分支6. master分支代码复制到新的分支7. Git迁移项目到其他代码仓库,且保留分支与提

Git代码提交规范

Git是常用的版本控制工具,本文描述使用等工具实现Git代码提交规范

一个基于GPT模型实现的Git Commit信息自动生成工具

每次提交代码的时候,你是否有为如何写Commit Message而迟迟按不下提交的时刻呢?然后,死磨硬泡写了一些并提交后,又被review的小伙伴吐槽了呢?相信很多小伙伴有过这样的经历吧? 趁着最近ChatGPT那么火,就来顺手推荐一个可以用于解决这个问题的VS Code插件:vscode-gpto

Git + Jenkins 自动化 NGINX 发布简易实现

概述 之前基于 GitLab + Jenkins 实现了简单的 NGINX 的自动化发布。 具体包含如下的组件: GitLab 包括 GItLab 的 WebHook; Jenkins 及其插件: Generic Webhook Trigger Publish Over SSH 🧠疑问: 为什么不

Git 版本控制:构建高效协作和开发流程的最佳实践

版本控制是软件开发的核心,促进团队协作与项目管理。通过制定明确的分支命名策略,遵循一致的代码提交规范,如指明提交类型和简短描述,增强了历史记录的可读性,可以清晰地组织和理解项目的结构与进展。

团队如何选择合适的Git分支策略?

现代软件开发过程中要实现高效的团队协作,需要使用代码分支管理工具实现代码的共享、追溯、回滚及维护等功能。目前流行的代码管理工具,包括CVS,SVN,Git,Mercurial等。 相比CVS和SVN的集中管理,Git具有非常明显的优势,**例如:去中心化的代码管理方式减少了开发者对中心服务器的依赖,

Git使用记录 - 持续更新

本地生成 sshkey 打开git命令工具cd ~/.ssh ssh-keygen -t rsa -C "实际的eamil地址" ··· // 一路回车,出现以下则说明成功 Your identification has been saved in C:\Users\Administrator/.s

Git 代码分支管理

Git 代码分支的命名规范以及管理方式对项目的版本发布至关重要,为了解决实际开发过程中版本发布时代码管理混乱、冲突等比较头疼的问题,我们将在文中阐述如何更好的管理代码分支。