Git学习与问题总结 | 青训营笔记

2024-05-21 15:36:37 浏览数 (2)

git介绍

Git是一个分布式版本控制系统,最初由Linus Torvalds于2005年创建。它被广泛用于软件开发中,以协调多个开发者之间的代码修改和版本控制。Git可以跟踪文件的修改历史,可以轻松地查看和恢复之前的版本。它还支持分支和合并,使得多个开发者可以独立地工作并在最终将其代码合并到一起。Git的优点包括速度快、可靠性高、支持分布式开发、易于使用等。

项目中使用

代码语言:javascript复制
mkdir projectdemo
cd projectdemo

git init

执行git init命令后,Git会在当前目录下创建一个名为.git的子目录,这个子目录是Git的版本库,它包含了Git用于管理版本控制的所有信息和元数据。

.git目录的结构如下:

代码语言:javascript复制
.git/
├── HEAD
├── config
├── description
├── hooks/
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── fsmonitor-watchman.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── pre-merge-commit.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   ├── pre-receive.sample
│   ├── prepare-commit-msg.sample
│   └── update.sample
├── info/
│   └── exclude
├── objects/
│   ├── info/
│   └── pack/
└── refs/
    ├── heads/
    └── tags/
  • HEAD文件指向当前分支的最新提交
  • config文件包含了Git的配置信息
  • hooks目录包含了Git的钩子脚本
  • info目录包含了一些Git的辅助信息
  • objects目录包含了Git的对象库
  • refs目录包含了Git的引用信息

使用git

项目中使用Git的基本步骤:

  1. 在项目根目录下执行git init命令,创建Git的版本库。
  2. 在项目中添加要进行版本控制的文件,可以使用git add命令将文件添加到Git的暂存区,也可以使用git commit -a命令将所有已修改的文件添加到暂存区并提交到Git的版本库。
  3. 在代码修改完成后,使用git commit命令将代码提交到Git的版本库中,同时添加提交信息以便后续查看。
  4. 在需要协作开发的情况下,可以使用git clone命令将远程仓库中的代码克隆到本地,然后进行修改和提交。
  5. 在代码修改过程中,可以使用git branch命令创建新的分支,使用git checkout命令切换不同的分支,使用git merge命令将分支合并到主分支中。
  6. 在需要与远程仓库同步代码时,可以使用git pull命令将远程仓库中的代码拉取到本地,也可以使用git push命令将本地代码推送到远程仓库中

使用常见场景

本地切换远程分支

要将本地分支切换到远程分支,使用git checkout命令,并指定远程分支的名称。

代码语言:javascript复制
git checkout -b <local-branch-name> origin/<remote-branch-name>

其中 <local-branch-name> 是要创建的新本地分支的名称,<remote-branch-name> 是远程分支的名称。如果只想查看远程分支而不创建本地分支,则可以省略 -b 参数:

代码语言:javascript复制
    git checkout origin/<remote-branch-name>

合并远程仓库的更新部分

要将远程存储库的更新部分合并到本地分支中,使用git pull命令。git pull命令会从远程存储库中获取最新的更改,并将其合并到当前分支中。

以下是使用git pull命令从远程存储库中获取更新的步骤:

  1. 确定当前所在的分支。可以使用git branch命令查看当前分支。
  2. 使用git pull命令从远程存储库中获取最新的更改并将其合并到当前分支中:
代码语言:javascript复制
git pull <remote> <branch>

其中 <remote> 是远程存储库的名称,<branch> 是要合并的远程分支的名称。例如,如果要从名为origin的远程存储库的master分支中获取更新,则可以运行以下命令:

代码语言:javascript复制
git pull origin master
  1. 如果有任何冲突,则需要解决它们并提交更改。可以使用git status命令查看有关冲突的更多信息。

合并更新可能会导致代码冲突。

如果有冲突,需要手动解决它们,并使用git add命令将更改标记为已解决。然后,可以使用git commit命令提交更改。

0 人点赞