青训营X豆包MarsCode 技术训练营第四课 |Git 的正确使用姿势与最佳实践

41 阅读2分钟

基本的linux命令

cd :改变目录(直接cd,进入默认目录)

cd .. :回退到上一级目录

pwd :显示当前所在目录路径

ls / ll:列出所有文件(ll更加详细)

rm + 文件名 :删除文件

rm -r + 文件夹名 :删除文件夹

mkdir :新建一个文件夹

reset :初始化终端

history :查看历史命令

clear :清屏

help :帮助

exit :退出

git原理简介

  • 工作区: 就是你在电脑里能看到的目录。
  • 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。

下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:

配置

使用 git config 命令

显示当前配置:

$ git config --list

编辑配置文件:

$ git config --e               #针对当前仓库
$ git config --e --global      #针对系统上所有仓库 

设置用户信息:

$ git config --global user.name "..."
$ git config --global user.email ...

创建仓库

有两种方法

  • git init

    进入一个目录,并初始化

    $ git init            #将当前目录作为git仓库
    $ git init 目录名      #将指定目录作为git仓库
    

    执行该命令后,对应目录会生成一个 .git 的文件夹(隐藏文件夹)

  • git clone

    从现有的git仓库中拷贝项目

    $ git clone <repo>            #克隆到当前目录
    $ git clone <repo> <directory>  #克隆到指定目录
    

    例子:

    随便克隆一个github上的仓库

    $ git clone https://github.com/KQLXK/Linkup.git
    

基本操作

常见操作

  • git add:

    $ git add 文件名       #提交到暂存区
    
  • git commit:

    $ git commit -m "..."  #将暂存区内容添加到仓库
    
  • git status:

    $ git status           #确认哪些文件被修改暂存或未被跟踪
    
  • git log:

    $ git log             #查看提交日志
    
  • git branch:

    $ git branch          # 查看当前分支
    

提交与修改

Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。

下表列出了有关创建与提交你的项目的快照的命令:

命令说明
git add添加文件到暂存区
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git difftool使用外部差异工具查看和比较文件的更改。
git range-diff比较两个提交范围之间的差异。
git commit提交暂存区到本地仓库。
git reset回退版本。
git rm将文件从暂存区和工作区中删除。
git mv移动或重命名工作区文件。
git notes添加注释。
git checkout分支切换。
git switch (Git 2.23 版本引入)更清晰地切换分支。
git restore (Git 2.23 版本引入)恢复或撤销文件的更改。
git show显示 Git 对象的详细信息。

提交日志

命令说明
git log查看历史提交记录
git blame <file>以列表形式查看指定文件的历史修改记录
git shortlog生成简洁的提交日志摘要
git describe生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

远程操作

命令说明
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并
git submodule管理包含其他 Git 仓库的项目

注意:git commit 后会进入vim编辑器界面

基本操作:

  1. 按下字母键iao,此时进入到可编辑状态,这时就可以输入你的注释

  2. 当你输入完之后,按下Esc键就可退出编辑状态,回到一般模式。

  3. 最后就是怎么退出vim编辑器并提交commit, 有两种方法:

  • 输入两字大写字母ZZ(记住是大写)
  • 输入:wq:wq!(强行退出)

忽略文件

.gitignore文件中可以选择忽略的文件

*.txt          #忽略 .txt结尾的文件
!lib.txt       #处理 lib.txt
/temp          #忽略名为 temp 的目录及其所有内容
build/         #忽略 build 目录下所有文件
doc/*.txt      #忽略doc文件夹下的 .txt结尾的所有文件 

github远程仓库

在使用前要先连接github Git 远程仓库(Github) | 菜鸟教程 (runoob.com)

添加远程仓库

$ git remote add <别名> <远程仓库地址>

例子:

$ git remote add origin git@github.com:KQLXK/test.git

查看远程仓库

$ git remote -v

拉取远程仓库

$ git pull <远程仓库名><远程分支名>:<本地分支名>

例子:

$ git pull origin main

推送到远程仓库

$ git push <远程仓库名><远程分支名>:<本地分支名>

例子:

$ git push origin master

删除远程仓库

git remote rm [别名]

使用gitee进行团队协作

  1. 首先在gitee上新建仓库
  2. 创建之后邀请成员

image.png 3. 各个成员在本地创建本地仓库连接上这个远程仓库

```
$ mkdir test2                                               #创建文件夹test2
$ cd test2                                                  #转换到test2目录下操作
$ git init                                                  #初始化本地仓库
$ git remote add origin git@gitee.com:kqlxk/test2.git       #连接远程仓库
```

3. 创建自己的分支进行代码编写

为了让不同成员负责不同的模块操作,一般不同的成员会使用不同的分支,在编写完自己的部分后传到远程仓库对应分支后用 `pull request` 再合并到主分支

```
$ git branch feature-branch           #创建新分支
$ git checkout feature-branch         #切换到新分支
```

3. 从远程仓库拉取代码

```
git pull origin <branch_name>  
```

如果我们要从 `master` 分支拉取就运行

```
git pull origin master
```

3. 本地编写并保存

本地编写完代码后,应该使用 `git add``git commit` 提交到本地仓库

3. push到远程仓库

在本地仓库提交完代码后,需要push到远程仓库

```
$ git push origin <远程仓库分支名>
```

3. 发起pull request

![image-20241029190454682]()

image.png 发起pull request之后由组长或管理员进行审核,再进行合并分支,就可以完成团队协作