Git是用于代码的版本控制系统(VCS)。它用于跟踪修订,并允许开发人员或开发团队通过分支一起在项目上进行工作。
Git不是GitHub。Git是系统,而GitHub是存储库托管服务(在许多应用程序中最受欢迎)。
您可能已经习惯了文件上传的FTP(文件传输协议)过程。
FTP
本地环境⇋FTP程序⇋Live Server
文件:///用户/您/项目 ⇋ 发送/ WinFTP ⇋ https://example.com](https://example.com/)
没有使用版本控制之前使用FTP管理的多,与我们今天使用Git的方式非常相似。
Git
本地环境⇋Git存储库⇋Live服务器
文件:///用户/您/项目 ⇋ GitHub.com ⇋ [https://example.com
当然,这两种方法的箭头都可以朝任何方向移动-上传(推)和下载(拉)。
适用于Mac / Windows的Tower,SourceTree和Github-这些都是GUI或图形用户界面。GUI是一种利用图形创建用户友好体验的程序,例如Windows到MS-DOS。这些程序对于学习很有用,尤其是在团队环境中,但是在本文中,我们将通过命令行完成所有操作。
苹果电脑
打开终端程序。键入git --version
,然后按Enter。如果返回版本号,则表明已经安装了Git。如果-bash: git: command not found
弹出类似的提示,请从App Store 安装Xcode
在XCode中,安装命令行工具:> Preferences > Downloads > Command Line Tools
。您现在可以通过终端使用Git。
尽管对于本文的其余部分来说不是必需的,但现在可以先安装Homebrew,它是一种用于简化dev工具的安装和管理的工具
Windows
下载Windows版Git。您将使用Git Bash程序。它将使用与终端相同的所有命令。
GitHub是托管存储库的最受欢迎的,因此,如果没有,请继续在此处注册一个帐户。
我假设您的用户名是you。这将成为您的新GitHub帐户github.com/you
。
建立帐户后,点击添加新仓库来创建存储库。此时请勿使用README.md或.gitignore进行初始化。我们可以调用存储库项目。您的存储库就会创建github.com/you/project
。它应该完全是空的
如果您完全不熟悉命令提示符,请阅读命令行教程。
这是最基础的命令,也是您入门所需的全部知识。
基本命令行参考
-
pwd
打印工作目录 –显示您正在使用的确切目录。 -
ls
列出目录 –列出当前目录中的所有文件和文件夹。 -
cd
更改目录 –更改到另一个目录。 -
mkdir
创建目录 -创建一个新目录。
请记住,Terminal(Mac)和Git Bash(Windows)都是命令行外壳。通过两者,任何与Git相关的Shell命令都可以相同。
打开终端时,将在主目录中开始。我将假设您的计算机具有与GitHub帐户相同的用户名。
确认您的位置
pwd
/Users/you
创建一个名为project-local的新文件夹
mkdir project-local
列出你的目录
ls
您应该在目录列表中看到本地项目。
移至新创建的目录
cd project-local
现在,您位于本地项目和Git存储库所在的文件夹中。从这里开始,我们将开始使用git命令。Git 有大量命令,但是我们只需要少量命令即可开始。
基本的Git命令参考
-
git config
-配置Git -
git init
-初始化Git存储库 -
git status
-检查Git储存库的状态 -
git add
-添加文件 -
git commit
-提交添加文件 -
git push
- 上传文件 -
git pull
-下载文件
我们现在执行的所有的命令将来仅适用于您本地的Git环境。但是,在执行其他任何操作之前,需要执行一个重要的全局步骤-配置您的Git帐户。
配置您的全局Git帐户。
git config --global user.name “Firstname Lastname”
git config --global user.email username@email.com
确保您仍在项目本地文件夹中,然后继续。
初始化Git存储库。
git init
在/Users/you/project-local/.git/中初始化了空的Git存储库
现在,您的本地计算机上有一个空的Git存储库。
使用我们在github.com上创建的仓库连接本地目录。
git remote add origin https://github.com/you/project
终端没有响应,但是成功了。继续,然后将文件添加到项目本地目录。您可以根据需要添加任意数量的文件,但我假设您添加了两个文件**-index.html和style.css**。
检查本地存储库的状态。
git status
On branch master
Initial commit
Untracked files:
(use “git add …” to include in what will be committed)
index.html
style.css
nothing added to commit but untracked files present (use “git add” to track)
好了,现在它知道目录中有两个文件,但是它们不是Git存储库的一部分。此时,我们必须使用命令来添加文件add
。
将所有文件添加到仓库中。
(区分大小写的命令!)
git add .
让我们再次使用检查状态git status
。
On branch master
Initial commit
Changes to be committed:
(use “git rm --cached …” to unstage)
new file: index.html
new file: style.css
那么,现在该做什么呢?文件现在是绿色而不是红色。我们完成好了吗?还不行
将添加的文件提交到master分支
git commit -am “Initial Commit”
[master (root-commit)] Initial
2 files changed, 34 insertions(+)
create mode index.html
create mode style.css
使用此命令,我提交了所有文件(-a),包括一条消息(-m),在此列出(“初始提交”)。此行中的所有内容均为必选。
提交文件时,请不要忘记添加评论。Git中的战略性注释与注释代码一样重要。如果您不小心忘记了添加注释并最终进入无法再输入任何命令的奇怪屏幕,请按ESC
:q!
键,然后按Enter。
将文件推送到github.com上的Git存储库。
git push origin master
终端将提示您输入GitHub用户名和密码。输入密码时,它可能不会显示您输入了任何内容,但正在输入密码。
现在刷新您的GitHub页面。成功!现在,所有文件都托管在Github.com上!
> 我们完全可以使用gitlab搭建私有代码库,如果不用也可以参考下面的方式
我现在假设您在某个主机上可以将文件上传到该主机。GeoCities
通过FTP上传到服务器时,您将具有以下一些设置:
主机:ftp.domain.com 用户名:you 密码:hunter2
您将这些凭据输入到FTP GUI中,然后就可以使用了。SSH(安全外壳)-在命令提示符下,您将使用ssh命令输入主机。主机应通过FTP设置向您显示SSH的设置。
您可以通过同一终端窗口执行所有操作,但为清楚起见,让我们打开一个新的终端窗口(Command + N)。
SSH进入您的主机。
ssh username@ssh.domain.com
系统将提示您输入密码。
现在您进入了!
请记住,当您通过SSH连接到主机时,您现在已连接到该主机!该终端中不再存在您的本地环境。要转义SSH并返回本地终端,请键入,
exit
然后按Enter。
开启FTP程序,这样您就可以看到主机的文件结构以及所做的更改。每个主机都是不同的。找到wwwroot或公用文件夹,并在远程“终端”窗口中cd
找到适当的位置。
现在,在主机目录中的某个位置创建一个新文件夹。您可以随意调用它-它可以匹配GitHub存储库的名称。在这种情况下,我们将其命名为**project-remote,**并假定它是根目录中的文件夹。
进入后,您将执行与之前相同的许多步骤,不过 这次我们将从GitHub.com中拉(下载),而不是从本地推送(上载)到Github.com。