git介绍
Git是一个分布式版本控制系统,最初由Linus Torvalds于2005年创建。它被广泛用于软件开发中,以协调多个开发者之间的代码修改和版本控制。Git可以跟踪文件的修改历史,可以轻松地查看和恢复之前的版本。它还支持分支和合并,使得多个开发者可以独立地工作并在最终将其代码合并到一起。Git的优点包括速度快、可靠性高、支持分布式开发、易于使用等。
项目中使用
代码语言:javascript复制mkdir projectdemo
cd projectdemo
git init
执行git init
命令后,Git会在当前目录下创建一个名为.git
的子目录,这个子目录是Git的版本库,它包含了Git用于管理版本控制的所有信息和元数据。
.git
目录的结构如下:
.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的基本步骤:
- 在项目根目录下执行
git init
命令,创建Git的版本库。 - 在项目中添加要进行版本控制的文件,可以使用
git add
命令将文件添加到Git的暂存区,也可以使用git commit -a
命令将所有已修改的文件添加到暂存区并提交到Git的版本库。 - 在代码修改完成后,使用
git commit
命令将代码提交到Git的版本库中,同时添加提交信息以便后续查看。 - 在需要协作开发的情况下,可以使用
git clone
命令将远程仓库中的代码克隆到本地,然后进行修改和提交。 - 在代码修改过程中,可以使用
git branch
命令创建新的分支,使用git checkout
命令切换不同的分支,使用git merge
命令将分支合并到主分支中。 - 在需要与远程仓库同步代码时,可以使用
git pull
命令将远程仓库中的代码拉取到本地,也可以使用git push
命令将本地代码推送到远程仓库中
使用常见场景
本地切换远程分支
要将本地分支切换到远程分支,使用git checkout
命令,并指定远程分支的名称。
git checkout -b <local-branch-name> origin/<remote-branch-name>
其中 <local-branch-name>
是要创建的新本地分支的名称,<remote-branch-name>
是远程分支的名称。如果只想查看远程分支而不创建本地分支,则可以省略 -b
参数:
git checkout origin/<remote-branch-name>
合并远程仓库的更新部分
要将远程存储库的更新部分合并到本地分支中,使用git pull
命令。git pull
命令会从远程存储库中获取最新的更改,并将其合并到当前分支中。
以下是使用git pull
命令从远程存储库中获取更新的步骤:
- 确定当前所在的分支。可以使用
git branch
命令查看当前分支。 - 使用
git pull
命令从远程存储库中获取最新的更改并将其合并到当前分支中:
git pull <remote> <branch>
其中 <remote>
是远程存储库的名称,<branch>
是要合并的远程分支的名称。例如,如果要从名为origin
的远程存储库的master
分支中获取更新,则可以运行以下命令:
git pull origin master
- 如果有任何冲突,则需要解决它们并提交更改。可以使用
git status
命令查看有关冲突的更多信息。
合并更新可能会导致代码冲突。
如果有冲突,需要手动解决它们,并使用git add
命令将更改标记为已解决。然后,可以使用git commit
命令提交更改。