作者: littleboy 2023-09-30 20:31:20

Git-入门

流程

下载&安装

Git - Downloads (git-scm.com)

打开Git

右键-Open git bash here

菜单/程序-git bash

cmd命令提示符

1
pwd 查看程序允许的目录位置

配置Git

1
2
git config --global user.name "<你的用户名>"
git config --global user.email "<你的注册邮箱>"

查看配置

1
git config --list

初始化仓库

需要Git服务器进行代码托管,可以自建Git服务器,也可以使用Github或Gitee的免费服务器。本文章以Gitee为例进行演示,

远端初始化仓库

本地初始化仓库

绑定远端仓库

1
git remote add origin https://gitee.com/littleboy97/git-practice

修改仓库

克隆仓库

将远端仓库克隆到本地

1
2
3
4
方式1:HTTPS

方式2:SSH

1
2
查看当前仓库状态
git status

添加文件

添加git缓冲区

1
2
3
4
添加指定文件
git add <指定文件>
添加全部文件
git add .

添加版本评论

1
2
3
4

git commit

git commit -m "<commit>"

查看版本库

文件在评论过程会形成一次log记录,然后可通过git log查看记录来获取

1
git log

通过commit后的那串数字,可以找到每次的提交

1
git reset --head <commitID>

查看文件差异

1
git diff <commit ID1> <commit ID12>

同步更新远端仓库

1
git push

分支

分支,创建用于功能的编写和功能的测试使用的环境。

设计流程:

graph LR
develop-->masterV1.0
master-->develop
develop-->Feature

查看分支

1
git branch

创建

分支,但是是没有切换到新建的分支的,需要checkout检出

1
git branch <分支名>

切换

然后本地是否变化?似乎不能

1
git checkout <分支名>

文件夹内容显示和分支的关系(图)

问题:

当我们正常使用Git切换分支时,会出现以下提示(请在切换分支之前提交您的更改或隐藏它们)Please commit your changes or stash them before you switch branches.

方法

解决方案:

  1. 因为当前的分支dev 最初也是从master 分支上衍生出来的。而此时你要再从该分支上切换到其主分支。那么你需要先把该dev分支上的改动提交后才能切换,但是该dev分支上还没有完成全部的修改,你不想提交。那么此时你就要选择 stash (存放)它们(你在当前分支上改动的却没有提交commit的内容)。
    所以第一步,在当前分支上执行 git stash 命令。将当前分支存起来,id为 807be186826

  2. 这时候再执行 git status 命令,显示没有东西需要提交,接着就可以在主分支master上创建并切换到新的分支去修复另一个Bug了。

  3. 那修改完那个Bug也提交后,就该回到dev 分支上去继续修改那个未完成的Bug。
    执行 git checkout dev 切换到 dev 分支,这个时候执行 git status 命令仍旧显示没有东西需要提交。毕竟我们前边已经成功将dev上未提交的改动给“隐藏“了,这时,用 $ git stash list 命令去查看我们“存储”的列表。

image-20241125123352445

上传

将本地分支推送到远端仓库。

1
git push

如果远端无分支则设置下面方法上传推送

1
git push -u origin <分支名>

下载

将远端仓库推送到本地分支。

1
git pull

如果远端无分支则设

1
git pull <remote> <branch>

合并

将设计完成的功能分支进行合并到汇总分支master。

在分支做好的内容有两种处理:1、上传分支再切换主分支合并;2、git staus将当前分支暂存起来

1
git staus
1
2
切换汇总分支
git checkout master

切换到需要汇总的分支,输入如下代码,将其他分支合并进来

1
2
3
4
5
合并
git merge <分支名>

提交代码至主干(master)
git push origin master

删除

删除本地分支

1
git branch -d <分支名>

更新远端分支,并删除远端分支

1
git push -u origin -d <分支名>

协同

代码冲突

回退版本

本地回退版本,revert会按照某个commit版本,并会当作新版本使用。

1
2
3
4
5
6
7
git revert HEAD^

git revert HEAD^^

git revert HEAD^2

git revert <版本ID>

本地回退版本,reset会回退到某个commit版本,并会删除后续版本。

1
2
3
4
5
6
7
git reset HEAD^

git reset HEAD^^

git reset HEAD^2

git reset <版本ID>

参考

菜鸟教程:https://www.runoob.com/git/git-tutorial.html

Git - 书籍 (git-scm.com)

vim编辑器

标签