Git是一个强大的版本控制系统,它用于跟踪文件的变化并协作开发代码。
创建新的仓库:开始使用Git,需要在项目文件夹中初始化一个新的Git仓库。进入到项目文件夹,然后
1
git init
将文件添加到仓库:在初始化了仓库之后,可以将项目文件添加到Git仓库中以进行版本控制。
使用add将修改的文件添加到暂存区:
1
git add <file1> <file2> ...
若是修改的文件较多,可直接使用
1
git add .
提交更改:文件添加到暂存区后,就可以使用commit将它们提交到仓库中。
1
git commit -m "Your commit message"
可以在提交信息中清晰地描述你所做的更改。
查看状态:你可以使用以下命令来查看当前仓库的状态,包括已修改、已暂存和未跟踪的文件。
1
git status
查看提交历史:
1
git log
比较文件差异:
1
git diff <file>
显示特定文件在工作区和暂存区之间的差异。
1
git diff <commit id>
显示当前工作目录中的文件与指定提交之间的差异
版本回退
1
git checkout <commit id>
将工作区和暂存区恢复到指定提交的状态。
创建分支:分支允许你在不影响主线开发的情况下开发新功能或修复bug。
1
git branch <branch-name>
切换分支:你可以使用以下命令切换到其他分支。
1
git checkout <branch-name>
合并分支:当你完成了在某个分支上的工作,并且希望将其合并到主分支时,你可以使用以下命令。
1
2git checkout main
git merge <branch-name>远程仓库:Git还支持与远程仓库进行交互,例如GitHub、GitLab等。你可以使用以下命令将本地仓库与远程仓库关联。
1
git remote add origin <remote-repository-url>
推送到远程仓库:一旦你与远程仓库建立了关联,你可以将本地提交推送到远程仓库。
1
git push -u origin main
一旦你将本地的提交推送到远程仓库,你可能会希望在本地仓库中获取远程仓库的最新内容,以便与其他团队成员的更改保持同步。你可以使用
git pull
命令来拉取远程仓库的内容。以下是步骤:确保当前在正确的分支上:首先,确保你在想要拉取远程仓库内容的本地分支上。
1
git checkout main
这里的 “main” 可以根据你的实际情况而定,确保你在想要拉取更新的目标分支上。
执行 git pull:运行
git pull
命令来拉取远程仓库的最新内容并将其合并到你当前所在的分支。1
git pull
这将获取远程仓库的最新提交,并尝试将其合并到你当前所在的分支中。
如果你希望拉取特定远程仓库的特定分支的更新,你可以在
git pull
命令中提供远程仓库和分支的名称。例如,如果要从名为 “origin” 的远程仓库的 “main” 分支拉取更新,可以执行以下命令:1
git pull origin main
这将从远程仓库的 “main” 分支拉取更新,并将其合并到你当前所在的分支。
git checkout
git checkout
命令在 Git 中有多种用途,它可以用于切换分支、创建分支、恢复文件和检出提交等操作。以下是 git checkout
命令的几种常见用法:
切换分支:
1
git checkout <branch-name>
这会将当前工作目录切换到指定的分支。例如,要切换到名为
main
的分支,你可以运行:1
git checkout main
你也可以使用
git switch
命令来执行相同的操作。创建新分支并切换到该分支:
1
git checkout -b <new-branch-name>
这会创建一个新的分支,并将当前工作目录切换到该分支。例如,要创建一个名为
feature
的新分支并切换到该分支,你可以运行:1
git checkout -b feature
恢复文件到指定状态:
1
git checkout <file>
这会将指定文件恢复到最近一次提交时的状态。如果你在工作区中对文件做了修改,但想要撤销这些修改并恢复到最近一次提交时的状态,可以使用这个命令。例如:
1
git checkout index.html
这会将
index.html
文件恢复到最近一次提交时的状态。检出提交:
1
git checkout <commit>
这会将你的工作目录和暂存区都恢复到指定提交时的状态,并将 HEAD 指针移动到该提交。通常情况下,你不应该在已提交的代码上工作,因为这可能会导致丢失未提交的更改。然而,这个命令在需要检查历史提交的内容或创建分离头指针时很有用。如果你只是想查看历史提交的内容,建议使用
git show <commit>
命令,这样可以避免创建分离头指针。
工作区和暂存区
工作区(Working Directory):
工作区指的是你正在工作的项目目录,其中包含了你编辑、添加和删除文件的所有内容。换句话说,工作区是你电脑上能够看到的项目目录,其中包含了项目的所有文件和子文件夹。当你修改项目中的文件时,这些修改只存在于工作区中,还没有被 Git 跟踪。
暂存区(Staging Area):
暂存区是 Git 提供的一个中间区域,用于存储你想要提交的更改。当你对工作区中的文件做出修改并准备提交时,首先需要将这些修改添加到暂存区。在暂存区中,你可以检查你要提交的更改,并决定是否需要将它们提交到版本控制系统中。
一旦你将更改添加到暂存区,Git 就会记录这些更改的状态,包括哪些文件已经被修改、哪些文件是新添加的,以及哪些文件已经准备好被提交到仓库中。暂存区允许你将多个文件的更改分成一系列逻辑上相关的提交。