0


Git入门

Git有什么作用?

Git是一个版本控制系统,它的主要作用是追踪代码的变化、协同开发和管理项目。它可以记录每次代码的修改、谁进行了修改以及何时进行的修改,从而方便开发者之间的合作和代码的管理。

Git是分布式还是集中式?

Git是一种分布式版本控制系统。每个开发者都可以在本地拥有完整的代码仓库,并且可以独立地进行修改、提交和分支操作,而不需要依赖于中央服务器。

初始化仓库命令是什么?

git init

工作区域有哪几个?文件状态有哪几种?

在 Git 中,有三个主要的工作区域:

工作区:也称为工作目录,它是你当前正在进行编辑和修改的实际文件所在的位置。

暂存区:也称为索引,它是一个临时存储区域,用于准备提交到版本库的文件变更。你可以将工作区中的文件添加到暂存区,并在确认无误后提交到版本库。

版本库:也称为本地仓库,它是存储代码完整历史记录的地方。它包含了所有的提交,每个提交都代表着一个代码状态的快照。
文件在这三个工作区之间有不同的状态,常见的文件状态有以下几种:

未跟踪:表示该文件在 Git 的版本控制下尚未被追踪,即没有添加到版本库中。

已修改:表示在工作区中的文件已经被修改过,但尚未添加到暂存区或提交到版本库。

已暂存:表示已将修改过的文件添加到暂存区,准备在下次提交时将其纳入版本库。

已提交:表示已将文件的修改提交到版本库,这意味着它已经被永久保存在版本库中。

添加追踪命令是什么?提交命令是什么?

添加追踪命令:

git add .

提交命令:

git commit -m "提交信息"

版本回退命令是什么?有哪些可选参数?有哪几种回退方式?

在 Git 中,版本回退的命令是 git reset。

这个命令可以将当前分支指针(HEAD)和暂存区指针(Index)移动到指定的提交,并清除工作区中相应的文件修改,从而实现回退到历史版本的效果。

git reset 命令有多个可选参数,其中最常用的是 --hard、--soft 和 --mixed:

git reset --hard <commit>:回退到指定的提交,且重置暂存区和工作区,删除所有未提交的修改。这个命令会丢失掉工作区中所有未提交的修改,所以要谨慎使用。

git reset --soft <commit>:回退到指定的提交,但不重置暂存区和工作区,保留所有未提交的修改。这个命令可以用于撤销之前的提交,重新组织提交历史。

git reset --mixed <commit>:回退到指定的提交,且重置暂存区,但不重置工作区,保留所有未提交的修改。这个命令是默认的模式,它可以用于取消之前的提交并重新构建提交历史。

除了这些选项之外,git reset 还可以接受一个可选的文件名参数,表示只回退给定文件的修改。

当使用 git reset 命令时,还需要指定要回退的提交的标识符,可以是提交的 SHA-1 值、分支名或标签名等。

此外,除了 git reset 之外,还可以使用 git revert 命令来撤销之前的提交。与 git reset 不同的是,git revert 会创建一个新的提交来撤销之前的提交,而不是直接删除它们。

gitignore忽略文件怎么写?

在 Git 中,可以通过 .gitignore 文件来指定要忽略的文件和目录。.gitignore 文件中列出的文件和目录将不会被 Git 追踪或提交到版本库中。

.gitignore 文件的编写规则如下:

每行指定一个要忽略的文件或目录。
可以使用通配符来匹配多个文件,例如 *.log 表示忽略所有后缀为 .log 的文件。
可以使用斜杠 / 来指定忽略特定目录下的文件,例如 logs/ 表示忽略 logs 目录下的所有文件。
下面是一个简单的 .gitignore 文件示例:

忽略所有 .log 文件

*.log

忽略 build 目录下的所有文件

/build/

对于前端开发,一般会忽略以下文件和目录:

Node.js 包管理工具生成的目录:node_modules/
编译生成的目录:dist/ 或 build/
开发过程中生成的临时文件:*.tmp

仓库克隆命令是什么?如何关联本地仓库和远程仓库?

库克隆命令是 git clone。这个命令用于从远程仓库中复制整个代码库到本地。

要使用 git clone 命令,只需在终端中执行以下命令:
git clone <远程仓库地址>

在本地创建新的 Git 仓库或进入已有的仓库。
执行 git remote add 命令,将本地仓库和远程仓库关联起来。例如:
git remote add origin <远程仓库地址>
这里的 origin 是远程仓库的名称,可以自定义,通常默认用 origin。
执行 git push 命令,将本地的提交推送到远程仓库。例如:
git push -u origin master
这里的 master 是要推送的本地分支名。 -u 参数用于设置本地分支与远程分支的关联,以后的推送操作可以不再指定远程分支。

分支操作基本命令有哪些?

分支操作的基本命令有以下几个:
创建分支:
git branch <branch_name>
这条命令用于创建一个新的分支,但不会自动切换到新创建的分支上。

切换分支:
git checkout <branch_name>
该命令可以让你从当前分支切换到指定的分支。

创建并切换分支(一步到位):
git checkout -b <branch_name>
这条命令可以一次性完成创建一个新分支并切换到该分支的操作。

查看分支:
git branch
该命令会列出所有本地分支,并在当前分支前标注一个星号。

合并分支:
git merge <branch_name>
当你想要将指定分支的更改合并到当前分支时,可以使用此命令。

删除分支:
git branch -d <branch_name>
如果你不再需要某个分支,可以使用此命令来删除它。需要注意,不能在当前所在的分支上执行删除操作。

推送分支到远程仓库:
git push origin <branch_name>
将本地的某个分支推送到远程仓库。

拉取远程分支到本地:
git fetch origin <branch_name>:<local_branch_name>
这条命令可以将远程仓库的某个分支拉取到本地。

如何避免冲突?常用原则有哪些?

  1. 避免冲突在团队协作中非常重要,以下是一些常用的原则和方法:

  2. 及时更新代码:在开始工作之前,先拉取最新的代码,确保本地代码库是最新的。

  3. 小步提交:将工作拆分成小的逻辑单元,并频繁提交代码,避免一次性提交大量的修改。

  4. 避免长时间分支开发:尽量减少在长时间分支上开发,及时合并主干代码,减少冲突可能性。

  5. 沟通协作:与团队成员保持沟通,了解彼此的工作进展,避免同时修改同一部分代码。

  6. 定期合并主干代码:定期将主干代码合并到自己的分支,以便及时解决潜在的冲突。

  7. 使用版本控制工具:如 Git 等版本控制工具可以帮助有效管理代码变更,解决冲突。

  8. 解决冲突:当出现冲突时,要冷静分析冲突原因,仔细比对代码变动,合理解决冲突。

  9. 测试与检查:在解决冲突后,务必进行代码测试和审查,确保修改没有引入新的问题。

如何进行版本回退和rebase?

版本回退(Git Reset):
查看提交历史:
git log
确定要回退到的提交版本号,可以使用 git reset 命令回退到指定版本:
git reset --hard <commit_id>
这会将 HEAD 指向指定的提交,并丢弃后续提交。

如果只是想把 HEAD 移动到某个提交,但保留修改内容,可以使用软重置:
git reset --soft <commit_id>
如果想撤销上一次提交,可以使用:
git reset --hard HEAD^

Rebase 操作:
切换到需要 rebase 的分支:
git checkout <branch_name>
执行 rebase 操作,将当前分支(如 feature 分支)变基到目标分支(如 main 分支):
git rebase <target_branch>
这会将当前分支的提交逐个应用到目标分支之上。

如果出现冲突,需要解决冲突并继续 rebase 流程:
解决冲突后,使用 git add 添加解决后的文件。
使用 git rebase --continue 继续 rebase 操作。
如果需要中止 rebase 操作:
git rebase --abort
这会放弃 rebase 操作,并恢复到 rebase 前的状态。


本文转载自: https://blog.csdn.net/2301_79742908/article/details/136163523
版权归原作者 沼泽里的森林 所有, 如有侵权,请联系我们删除。

“Git入门”的评论:

还没有评论