共计 3598 个字符,预计需要花费 9 分钟才能阅读完成。
什么是 Git?
Git 是一个风行的版本控制系统。它是由 Linus Torvalds 于 2005 年创立的,自那时以来由 Junio Hamano 保护。
它用于:
- 跟踪代码更改
- 跟踪谁做出了更改
- 编写合作
Git 做什么?
- 应用仓库治理我的项目
- 克隆我的项目以在本地正本上工作
- 应用暂存和提交来管制和跟踪更改
- 分支和合并容许在我的项目的不同局部和版本上进行工作
- 将我的项目的最新版本拉到本地正本
- 将本地更新推送到主我的项目
应用 Git
- 在文件夹上初始化 Git,使其成为一个仓库
- Git 当初会创立一个暗藏的文件夹,以跟踪该文件夹中的更改
- 当文件被更改、增加或删除时,它被视为已批改
- 你抉择要暂存的已批改文件
- 已暂存的文件被提交,这会促使 Git 存储文件的永恒快照
- Git 容许你查看每个提交的残缺历史。
- 你能够复原到以前的任何提交。
- Git 不会在每个提交中存储文件的独自正本,而是跟踪每个提交中所做的更改!
切换平台:
- 将焦点转向 GitHub
- 将焦点转向 Bitbucket
- 将焦点转向 GitLab
为什么应用 Git?
- 超过 70% 的开发者应用 Git!
- 开发者能够从世界任何中央协同工作。
- 开发者能够查看我的项目的残缺历史。
- 开发者能够还原到我的项目的晚期版本。
什么是 GitHub?
Git 不同于 GitHub。
GitHub 制作应用 Git 的工具。
GitHub 是世界上最大的源代码托管服务,并自 2018 年起由 Microsoft 领有。
在本教程中,咱们将专一于应用 Git 与 GitHub。
Git 暂存环境
Git 的外围性能之一是暂存环境和提交的概念。
当你工作时,你可能会增加、编辑和删除文件。但无论何时你达到一个重要阶段或实现工作的一部分,都应该将文件增加到暂存环境。
已暂存的文件是筹备提交到你正在工作的仓库的文件。不久后,你将更多地理解提交。
目前,咱们已实现了对 index.html 的工作。所以咱们能够将它增加到暂存环境中:
git add index.html
文件应该已被暂存。让咱们查看状态:
git status
在主分支上
尚未提交
待提交的更改:
(应用 “git rm –cached …” 来勾销暂存)
新文件: index.html
当初该文件已被增加到暂存环境。
Git 增加多个文件
你还能够一次暂存多个文件。让咱们向咱们的工作文件夹增加 2 个文件。再次应用文本编辑器。
一个形容仓库的 README.md 文件(举荐用于所有仓库):
# hello-world
Hello World repository for Git tutorial
This is an example repository for the Git tutorial on https://www.w3schools.com
This repository is built step by step in the tutorial.
一个根本的内部样式表(bluestyle.css):
body {background-color: lightblue;}
h1 {
color: navy;
margin-left: 20px;
}
并更新 index.html 以包含样式表:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="bluestyle.css">
</head>
<body>
<h1>Hello world!</h1>
<p>This is the first file in my new Git Repo.</p>
</body>
</html>
当初将当前目录中的所有文件增加到暂存环境:
git add --all
应用 --all
而不是单个文件名将会将所有更改(新文件、批改过的文件和已删除的文件)都暂存。
git status
在主分支上
尚未提交
待提交的更改:
(应用 “git rm –cached …” 来勾销暂存)
新文件: README.md
新文件: bluestyle.css
新文件: index.html
当初所有 3 个文件都已增加到暂存环境中,咱们筹备进行第一次提交。
如何增加新文件到 Git 仓库:从创立本地仓库到增加文件
增加 Git 新文件
你刚刚创立了你的第一个本地 Git 仓库。但它是空的。
所以让咱们增加一些文件,或应用你喜爱的文本编辑器创立一个新文件。而后保留或挪动它到你刚刚创立的文件夹中。
在这个示例中,我将应用一个简略的 HTML 文件,相似于这样:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h1>Hello world!</h1>
<p>This is the first file in my new Git Repo.</p>
而后将它保留到咱们的新文件夹中,命名为 index.html
。
让咱们回到终端并列出当前工作目录中的文件:
ls
index.html
ls
会列出目录中的文件。咱们能够看到 index.html
存在。
而后咱们查看 Git 的状态,看它是否是仓库的一部分:
git status
在主分支上
尚未提交
未跟踪的文件:
(应用 “git add …” 来将其蕴含在将要提交的内容中)
index.html
没有增加到提交但未跟踪的文件存在(应用 “git add” 来跟踪)
当初 Git 曾经意识到这个文件了,但还没有将它增加到咱们的仓库中!
Git 仓库文件夹中的文件能够处于以下 2 种状态之一:
- 已跟踪 – Git 已晓得的文件,并已增加到仓库
- 未跟踪 – 存在于你的工作目录中,但尚未增加到仓库
当你首次将文件增加到空仓库时,它们都是未跟踪的。要让 Git 跟踪它们,你须要将它们暂存,或者将它们增加到暂存区。
咱们将在下一章中介绍暂存区。
Git 提交
既然咱们曾经实现了工作,咱们筹备从暂存转到提交咱们的仓库。
增加提交能够跟踪咱们的进度和更改。Git 将每个提交视为更改点或“保留点”。如果你发现 bug 或想要做更改,它是我的项目中能够返回的一个点。
当咱们提交时,应该始终蕴含一条音讯。
通过为每个提交增加清晰的音讯,对于本人(和其他人)来说,很容易看到产生了什么以及何时产生的。
git commit -m "Hello World 的首次公布!"
[master (root-commit) 221ec6e] Hello World 的首次公布!3 files changed, 26 insertions(+)
create mode 100644 README.md
create mode 100644 bluestyle.css
create mode 100644 index.html
commit
命令执行提交,-m "message"
增加一条音讯。
已暂存环境已被提交,音讯是:”Hello World 的首次公布!”
不通过暂存提交
有时,当你进行小的更改时,应用暂存环境仿佛是浪费时间。能够间接提交更改,跳过暂存环境。-a
选项会主动将每个已跟踪的更改文件增加到暂存区。
让咱们对 index.html
进行小更新:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="bluestyle.css">
</head>
<body>
<h1>Hello world!</h1>
<p>This is the first file in my new Git Repo.</p>
<p>A new line in our file!</p>
</body>
</html>
并查看咱们仓库的状态。但这次,咱们将应用 --short
选项以更紧凑的形式查看更改:
git status --short
M index.html
留神:短状态标记是:
??
– 未跟踪的文件A
– 已增加到暂存M
– 批改过的文件D
– 已删除的文件
咱们看到咱们预期的文件已被批改。所以让咱们间接提交它:
git commit -a -m "用新行更新了 index.html"
[master 09f4acd] 用新行更新了 index.html
1 file changed, 1 insertion(+)
留神:通常不倡议跳过暂存步骤。
跳过暂存步骤有时会导致蕴含不须要的更改。
Git 提交日志
要查看仓库的提交历史,能够应用 log
命令:
git log
这将显示仓库的提交历史:
commit 09f4acd3f8836b7f6fc44ad9e012f82faf861803 (HEAD -> master)
Author: w3schools-test
Date: Fri Mar 26 09:35:54 2021 +0100
用新行更新了 index.html
commit 221ec6e10aeedbfd02b85264087cd9adc18e4b26
Author: w3schools-test
Date: Fri Mar 26 09:13:07 2021 +0100
Hello World 的首次公布!
最初
为了不便其余设施和平台的小伙伴观看往期文章:
微信公众号搜寻:Let us Coding
,关注后即可获取最新文章推送
看完如果感觉有帮忙,欢送 点赞、珍藏、关注