15分钟内学会Git工具- 教程与实例

126 阅读5分钟

git basics with examples

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工具安装的基础知识,并学会了常用的命令。