
Git教程基础知识
Git 是一个开源的、分布式的版本控制工具,用于跟踪代码或文档的变化。现在,它在开源代码库中很受欢迎。在应用开发过程中,我们有几个问题:
你如何跟踪代码的变化?
如何让多人在同一个代码或模块上工作?
你如何维护代码库的几个版本?
如果在生产中出现任何问题,你如何将代码变化回滚到以前的版本?
多人如何合并代码?
如何将代码发布到生产中?
上述问题的答案就是GIT的特点。
在开发中,开发人员在他们的本地系统中编写代码库。一旦一切准备就绪,就将代码修改提交到远程仓库。然后其他开发者就可以得到最新的代码修改。
Git的特点
-
开源它在GPL许可下可以免费使用。你可以下载并安装客户端和服务器来追踪你的代码。
-
Performance是好的。开发者在本地环境中进行修改。不需要互联网来工作。当你完成了本地的修改,你将提交修改到远程仓库。 -
Distributed工具 多个团队可以在同一个代码库上工作。
有三个资源库:
仓库是一组文件和目录以及每个文件的历史。
- 远程版本库它是一个中央版本库或服务器上的代码,多个用户可以通过克隆到本地版本库中工作。
远程资源库托管在服务器上,可由多个团队在内部网中访问。
- 本地存储库。它是你本地系统上的代码,它是从远程资源库克隆的。每个用户都有一份代码库的副本。
用户为自己的工作在本地进行修改。
- 暂存区。它是一个临时区域,用户在这里将文件添加到版本库中。文件可以有不同的状态,如文件可以是跟踪的、未跟踪的、已提交的、暂存的类型。
安装和设置
首先,从这里下载窗口安装程序,点击安装程序并按照步骤进行。一旦成功完成,你就能够访问git工具了。
-
在Ubuntu/Debian
,使用apt-get软件包,安装很容易。它将安装最新的git命令。 -
在Linux上
使用yum命令来安装git工具
一旦git安装在你各自的操作系统上,你可以使用下面的版本来检查安装情况。
要检查一个git工具的版本。
C:\>git --version
git version 2.15.0.windows.1
一次性设置
一旦git安装成功,你需要做一些全局设置,这是一个一次性的步骤。请通过下面的命令行进行设置。
最初需要启用用户名和电子邮件
git config --global user.name "Kiran"
git config --global user.email "code@cloudhadoop.com"
常用的git命令
我们将看到各种git命令的例子。
这些是开发者经常使用的命令。
如何初始化一个空的版本库
这是在git中创建新项目的起始命令。
git init command 初始化了git的空目录。它在空目录中创建.git文件夹。
C:\gitcommands>git init
Initialized empty Git repository in C:/gitcommands/.git/
如何添加文件到空仓库
它将文件添加到暂存区/工作树。它是一个临时区域,在提交修改到远程版本库之前保存文件。
git add {list of files or directory by space}
获取版本库状态
使用git status 命令,你可以得到每个文件的状态,文件状态是added,Modified 等。
如何在 git 仓库中创建一个分支?
分支是主仓库的一个单独的仓库,多个团队在上面工作。
git branch branchname // Create new branch
git branch -a list of all branches
git branch -d delete branch
如何克隆一个 git 仓库?
git clone 是用来获取远程仓库的副本到你的本地仓库的。它只是你的远程版本库应用程序的一个副本。
git clone {gitrepourl} {folder}
gitrepourl 是git仓库的URL。文件夹是可选的,如果没有提供文件夹,就把仓库名称作为文件夹。
git 配置列表示例
要找到可用配置的列表。
C:\gitcommands>git config --list
core.symlinks=false
core.autocrlf=true
core.fscache=true
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
help.format=html
http.sslcainfo=C:/Program Files (x86)/Git/mingw32/ssl/certs/ca-bundle.crt
diff.astextplain.textconv=astextplain
rebase.autosquash=true
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
http.sslbackend=openssl
diff.astextplain.textconv=astextplain
credential.helper=manager
user.email=abc@abc.com
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
如何获得全局设置
git config --global --list
git 提交历史日志
你在本地做的每个提交任务都会记录.git文件夹的变化。你可以用下面的命令查看历史记录。
在你的项目中,有.gitignore文件是很好的做法。
在代码中,代码编译后会生成临时文件夹,如maven java项目中的target ,javascript应用中的dist 文件夹。
这些文件夹是不需要提交到版本库的。在这种情况下,请把这个文件夹添加到.gitignore文件中。这些文件夹的改动不会被提交,也不会在git status命令中显示。该文件中的每一行都代表一个文件夹或应用程序的文件路径。
cat .gitignore
/target/*
如何在git中签出分支?
git checkout 是用来处理同一版本库的多个分支的。多个分支被多个开发者用于同一个版本库。
git checkout revisionid - check the changes of commit id
git checkout branchname - checkout existing branch
git checkout -b branchanem - Create and checkout new branch
git remote origin
git remote command 用来连接远程仓库和本地仓库,以反映名称。
git remote add origin {remote-name} {git-url}
B:\Workspace\angularspree>git remote -v
origin https://github.com/aviabird/angularspree.git (fetch)
origin https://github.com/aviabird/angularspree.git (push)
如何在 git 仓库中提取最新的修改?
git pull 是用来获取远程仓库的最新变化的。一旦这个命令被启动。它从远程版本库获取内容到本地版本库。
git pull branchname remote-url
git pull origin master
如何推送本地文件到远程版本库?
它与git pull command 命令相反。git push 命令将本地的修改推送到远程仓库。这是你添加/提交更改后的最后一步。
总结
综上所述,你学会了git工具安装的基础知识,并学会了常用的命令。