Git基础教程
来源:互联网 发布:天津广电网络网上缴费 编辑:程序博客网 时间:2024/05/16 17:37
1. git简介
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
2. git安装
在CentOS上使用yum进行安装:
#yum install git-core
在Ubuntu上使用apt-get进行安装:
#apt-get install git-core
3. git常用命令
4. 克隆项目
在此我们以克隆libevent项目为例, libevent的git地址是:libevent
接下来我们执行以下命令:
$git clone https://github.com/libevent/libevent
执行完成之后,我们就会发现在当前目录下出现了一个libevent目录,其中包含了此项目的所有源文件。
当然,也可以在clone的时候,重新指定项目的存放路径和项目名,执行以下命令即可:
$git clone https://github.com/libevent/libevent yourPath/mylibevent
执行完成之后,切换到yourPath目录下,就会发现mylibevent已存在。
5. 查看当前文件状态
对于git而言,文件的状态分为已跟踪,未跟踪,已缓存,已提交。我们可以使用以下命令来查看当前工程的文件状态:
$git status
对于我们新clone的项目,所有的文件都处于已跟踪状态,所以会显示以下内容:
位于分支 master您的分支与上游分支 'origin/master' 一致。无文件要提交,干净的工作区
但是当我们其中添加一个新文件的时候,再次运行此命令,就会出现不同的结果。如下所示:
$touch README.txt$git status
执行结果如下:
位于分支 master您的分支与上游分支 'origin/master' 一致。未跟踪的文件:(使用 "git add <file>..." 以包含要提交的内容)test.txt提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
在此提示我们,test.txt未被跟踪。那我们按照提示使用git add命令添加之后再查看状态:
$git add test.txt$git status
执行结果如下:
位于分支 master您的分支与上游分支 'origin/master' 一致。要提交的变更:(使用 "git reset HEAD <file>..." 撤出暂存区)新文件: test.txt
通过结果我们可以看出,此时这个新的文件处于暂存状态。
上面我们看了添加一个新文件时,其状态的变化,下面我们来看看修改一个文件其状态时如何变化的:
首先,我们先修改一个文件(epoll.c),然后查看文件状态
$git status
执行结果如下:
位于分支 master您的分支与上游分支 'origin/master' 一致。尚未暂存以备提交的变更:(使用 "git add <file>..." 更新要提交的内容)(使用 "git checkout -- <file>..." 丢弃工作区的改动)修改: epoll.c
提示我们当前项目中存在未暂存的文件,接下来我们执行git add后再查看文件状态:
$git add epoll.c$git status
执行结果如下:
位于分支 master您的分支与上游分支 'origin/master' 一致。要提交的变更: (使用 "git reset HEAD <file>..." 撤出暂存区)修改: epoll.c
结论:
对于新添加的文件,其状态为未跟踪状态,当执行git add命令后,文件将处于已暂存状态。而对于项目中本身包含的文件,当我们修改后,
其状态为未暂存,当执行git add命令后,将处于已跟踪状态。
注意:git add命令最终只是将文件的状态修改为已暂存状态,而并没有提交修改。
6. 提交修改
在上一节中我们将新增的文件或修改过的文件都处于暂存状态了,接下来我们通过git commit命令来提交我们的修改:
$git commit
此命令将我把我们的修改提交到本地的repository中,如果想要把代码提交到远程的repository中,我们需要执行以下命令:
$git push
此命令将会把我们的本地修改同步到远程的repository中。
注意:当我们初次使用git commit时,会弹出以下信息:
*** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got 'ju@ju-Product.(none)')
也就说,我们没有配置相关的信息,我们按照提示进行配置即可:
$git config --global user.email yourEmailAddress$git config --global user.name userName
接下来就可以正常完成提交了!
- git 基础教程
- Git基础教程
- Git基础教程
- git基础教程
- git基础教程
- git基础教程
- Git基础教程
- git基础教程
- Git基础教程
- git基础教程一
- git基础教程二
- git基础教程三
- git基础教程四
- 一亩田GIT基础教程
- Git使用基础教程
- Git/Github基础教程
- git使用基础教程
- Git基础教程(一)
- 织梦dedecms|文章内容页标签
- 简单实用的移动端js-mobile layer
- adb shell命令、logcat、fastboot
- 织梦dedecms|文章列表标签arclist
- git stash 命令
- Git基础教程
- java 面试
- 【hadoop】16、学习hive操作语句
- 设计模式-中介者模式
- 管理理念:星巴克-文化成就品牌传奇
- 每天进步一点点——linux——df
- java 并行框架 并行编程
- myeclispe,http404
- SAT数学:几何专业词汇一览