目录
一、什么是Git
1、本地仓库 vs 远端仓库
本地仓库
远端仓库
2、.git vs .gitignore
.git
.gitignore
二、使用Git命令
1、安装git
2、git首次使用需要配置用户邮箱和用户名
3、上传目录/文件到远端仓库步骤
1)创建放置文件的目录
2)cd 仓库名
3)cp ../目录文件 . -rf
4)git add
5)git commit
6)git push
4、一些git指令
1)git log
2)git status
一、什么是Git
Git是一个开源的分布式版本控制系统。
1、本地仓库 vs 远端仓库
本地仓库
- 定义:本地仓库是指开发者在本地计算机上创建的仓库,用于保存项目文件和版本历史。
- 作用:开发者可以在本地仓库中进行所有的版本控制操作,如提交(commit)、分支(branch)、合并(merge)等。
- 特点:本地仓库是私有的,只有创建它的开发者可以访问。
- 同步:开发者可以通过
git push
命令将本地仓库的更改推送到远端仓库,也可以通过git pull
命令从远端仓库拉取最新的更改。
远端仓库
- 定义:远端仓库是指托管在服务器上的仓库,可以是私有的也可以是公开的,如GitHub、GitLab、Bitbucket等。
- 作用:远端仓库用于备份项目,以及让多个开发者协同工作。开发者可以推送(push)和拉取(pull)代码,共享代码更改。
- 特点:远端仓库是公共的,可以被多个开发者访问,用于代码的共享和协作。
- 同步:开发者可以通过网络与远端仓库同步代码,确保团队成员都能访问到最新的代码更改。
2、.git vs .gitignore
.git
.git
是一个隐藏目录,它包含了一个 Git 仓库的所有元数据和对象数据库。这个目录是 Git 版本控制的核心,它存储了项目的整个历史记录、分支信息、配置、提交对象、树对象和 blob 对象等。当你在项目中初始化一个新的 Git 仓库时,这个目录就会被创建。
.gitignore
.gitignore
是一个文件,用于告诉 Git 忽略特定的未跟踪文件或目录,不让它们被加入到版本控制中。文件的规则如下:
- 空白行:被忽略。
- 注释:以
#
开头的行被当作注释。- 文件名模式:直接指定文件名来忽略。
- 目录名模式:以
/
结尾的模式表示目录。- 通配符:使用
*
、?
和[...]
等通配符来匹配文件名。- 否定模式:以
!
开头的模式表示不忽略(即包含)某个文件或目录。# 忽略所有的 .log 文件 *.log# 忽略 doc/ 目录下的所有文件 doc/# 包含 doc/notes.txt 文件,即使 doc/ 目录被忽略 !doc/notes.txt# 忽略 doc/ 目录下的所有 .pdf 文件 doc/*.pdf
二、使用Git命令
1、安装git
在Xshell中安装git
yum install git
2、git首次使用需要配置用户邮箱和用户名
git config -global user.email "you@example.com
git config -global user.name "Your Name"
3、上传目录/文件到远端仓库步骤
1)创建放置文件的目录
git clone [url](上述红框)
2)cd 仓库名
进入仓库目录中
3)cp ../目录文件 . -rf
将要提交的目录文件拷贝到该仓库目录下
4)git add
将文件/目录添加到暂存区
添加单个文件:git add <file>
添加多个文件:git add <file1> <file2>
添加所有更改的文件:git add .
添加目录:git add <directory>
添加更改的文件,但不包括新文件和删除的文件:git add -u
5)git commit
将暂存区中的文件/目录提交到本地仓库
git commit -m "(对提交内容的介绍说明)"
6)git push
将本地仓库内容同步到远端服务器上。需要填入用户名和密码
git push
配置免密码提交方法
4、一些git指令
1)git log
查看提交历史记录
2)git status
用于显示当前工作目录的状态。该命令会告诉你哪些文件被修改了、哪些文件处于暂存区(staged)、哪些文件尚未跟踪(untracked),以及当前检出的是哪个分支等信息。
未跟踪的文件(Untracked files):
这些文件在当前目录中,但尚未被 Git 跟踪。如果你想要将这些文件添加到版本控制中,你需要使用git add
命令。已修改但未暂存的文件(Changes not staged for commit):
这些文件自上次提交以来已经被修改,但还没有被添加到暂存区。你可以使用git add
将它们暂存,或者使用git checkout
将它们撤销到上次提交的状态。已暂存的文件(Changes to be committed):
这些文件已经被添加到暂存区,准备好了被提交。你可以使用git commit
命令来提交这些更改。当前分支信息:
git status
会显示你当前所在的分支名称,以及你是否与远程分支同步。与远程分支的差异:
如果你的本地分支落后或领先于远程分支,git status
会显示你需要拉取(pull)或推送(push)更改。