目录
1.版本控制器
1.1集中式版本控制器
集中式版本控制工具,版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网。个人修改后然后提交到中央版本库,例如:SVN和CVS
1.2分布式版本控制器
分布式版本控制系统没有"中央服务器",每个人的电脑上都是一个完整的版本库,这样工作的时候,无需要联网了因为版本库就在你自己的电脑上。多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了,例如:Git
2.Git概述
Git是一个分布式版本控制系统 ,用于跟踪代码、文档等文件的更改。它可以记录文件的每次修改,方便开发者管理项目版本 ,并且可以在团队合作中协调多人开发。(类似于腾讯在线文档)Git的核心要点是有一个本地仓库和远程仓库,Git的主要特点有:
-
分布式
Git是分布式的,每个开发者的本地都拥有完整的项目历史记录和版本库,不依赖中央服务器。这使得在本地进行操作(如查看历史、切换版本等)非常快,而且允许在没有网络的情况下工作。
-
版本管理
Git会记录文件的每次更改,生成一个"快照"并赋予唯一的哈希值(commit ID),通过这些快照,可以随时查看、恢复或比较项目在不同时间点的状态。
-
分支与合并
Git支持轻量的分支操作,开发者可以在不同分支上并行开发不同的功能,然后合并到主分支。分支的操作(如创建、切换、删除)在Git中非常高效。
-
多用户协作
Git支持多人协作开发,可以通过远程仓库(如GitHub、GitLab、Bitbucket)分享和同步代码,开发者可以提交自己的代码,也可以将他人的代码合并到自己的分支。
3.Git常用命令
- Git GuI:Git提供的图形界面工具
- Git Bash:Git提供的命令行工具
设置用户信息
- git config --global user.name name
- git config --global user.email 邮箱
查看配置信息
- git config --global user.name
- git config --global user.email
常用指令
- Is/ll 查看当前目录
- cat 查看文件内容
- touch 创建文件
- git status 查看修改状态(untracked未跟踪、unstaged未缓存、staged)
- git log 查看提交日志 git log --pretty=oneline --abbrev-commit --graph(可以取别名)
还可以给常用指令配置别名05_git环境配与安装_哔哩哔哩_bilibili
4.获取本地仓库
要使用Git对我们的代码进行版本控制,首先需要获得本地仓库:
- 在电脑的任意位置创建一个空目录(例如myGit)作为我们的本地Git仓库
- 进入这个目录中,点击右键打开Git bash窗口
- 执行命令git init
- 如果创建成功后可在文件夹下看到隐藏的.git目录
5.基础操作指令
在本地仓库目录下除了.git文件夹,其他的都称为工作目录
- git add (工作区 -- 暂存区)
- git commit 提交暂存区内容到本地仓库的当前分支
- git reset --hard commitID 版本切换
- git reflog 可以看到已经删除的提交记录
6.gitignore文件
.gitignore
文件是一个文本文件,通常放在 Git 项目的根目录,用来告诉 Git 哪些文件或目录应该被忽略,不纳入版本控制中。.gitignore
文件中列出了一些不需要跟踪的文件或文件夹的规则。典型的内容包括:
- 编译生成的文件(如
.class
、.exe
、.dll
等) - 临时文件或系统文件(如
*.log
、Thumbs.db
、.DS_Store
) - 项目特有的配置文件(如 IDE 配置文件)
- 依赖文件夹(如
node_modules/
、vendor/
)
使用方法:在 .gitignore
文件中,每一行表示一条规则。例如:
bash
# 忽略所有 .log 文件
*.log
# 忽略特定目录
temp/
build/
# 忽略所有 .txt 文件,除非是 `notes.txt`
*.txt
!notes.txt
注意:.gitignore
仅对未被跟踪的文件有效,对于已经纳入 Git 的文件,需要先通过命令 git rm
--cached 文件名
从暂存区移除,然后添加 .gitignore
规则
通过 .gitignore
,可以简化版本控制的管理,避免提交不必要的文件。
7.分支与合并
Git 的分支和合并是版本控制中非常重要的概念。它们允许我们在不同的开发线上并行工作,并最终将各自的更改合并到一个共同的分支中,方便协作开发和功能迭代。Git的分布式版本控制就是通过不同分支以及它们的合并实现的。
- git branch 分支名 #创建分支
- git checkout 分支名 #切换到新分支
- git branch #查看分支
- git checkout main #切换到主分支
- git merge 分支名 #合并其他分支
8.远程仓库
Git 的远程仓库是指托管在网络服务器上的 Git 仓库,它允许多个开发者协作开发、同步代码和共享进展。常用的远程仓库平台包括 GitHub、GitLab 和 Bitbucket。
1.添加远程仓库
要将一个本地 Git 仓库与远程仓库关联,可以使用git remote add命令:
bash
git remote add origin 远程仓库URL
-
origin
是默认的远程仓库名称。通常建议使用origin
作为主要仓库的名称 -
远程仓库URL
是仓库在远程平台上的链接,比如 HTTPS (https://github.com/user/repo.git
) 或 SSH (git@github.com:user/repo.git
) 地址
2.查看远程仓库
要查看本地仓库当前关联的远程仓库及其 URL,可以使用以下命令:
bash
git remote -v
3. 推送到远程仓库
将本地分支的更改推送到远程仓库,通常使用以下命令:
bash
git push origin 分支名
- 如果是首次推送,可以使用
-u
参数将本地分支与远程分支关联,这样之后可以直接用git push
推送:git push -u origin 分支名
4. 拉取远程仓库更新
要同步远程仓库的最新内容,可以使用 git pull
命令,拉取并合并远程的更新:
bash
git pull origin 分支名
5. 克隆远程仓库
要创建一个远程仓库的本地副本,可以使用 git clone
命令:
bash
git clone 远程仓库URL
-
这会在本地创建一个新的目录,包含远程仓库的所有内容,并自动关联到远程
origin
-
例如:
git clone https://github.com/user/repo.git
6. 删除远程仓库
如果不再需要与某个远程仓库的关联,可以使用以下命令删除它:
bash
git remote remove 远程仓库名
例如,删除 origin
:git remote remove origin