Git入门(安装及基础命令行操作)
一、安装
1、Mac
在Mac中安装Git的方法不止一种。最简单的要数通过Xcode命令行工具。对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动检查是否已安装Git;如果未安装,则会提示你安装它。如果希望获得更高的版本,也可以通过二进制安装程序进行安装。在Git的网站上就能找到OS X的Git安装程序,网址是:http://git-scm.com/download/mac。还可以将其作为Mac版的GitHub的一部分来安装。图形化Git工具包含了一个安装命令行工具的选项。你可以在Mac版的GitHub网站上进行下载。
2、Windows
在Windows中安装Git的方法也有很多种。官方版本可以在Git的网站上下载。只需进入http://git-scm.com/download/win 就会自动开始下载。要注意这是一个叫做Git for Windows的项目,该项目独立于Git。具体可以了解http://git-for-windows.github.io。
另一种简单的方法是安装Windows版的GitHub。这个安装程序既包括命令行版本的Git,也包括GUI。它在Powershell下也运行良好,另外还提供了稳定的凭证缓存(credential cache)以及健全的CRLF设置。
3、源码
如果打算从源码安装Git,首先安装它所依赖的库:curl、zlib、openssl、expat和libiconv。如果使用的系统中有yum(如Fedora)或apt-get(基于Debian的系统),可以使用下列命令来满足编译及安装Git二进制文件所需要的最小依赖。
$ sudo yum install curl-devel expat-devel gettext-devel \ openssl-devel perl-devel zlib-devel
$ sudo apt-get install libcurl4-gnutls-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev
为了能添加各种格式的文档(doc、html、info),还需要另一些依赖(注意:RHEL以及如CentOS和Scientific Linux这种RHEL衍生版的用户必须启用EPEL仓库才能够下载docbook2X软件包)
$ sudo yum install asciidoc xmlto docbook2X
$ sudo apt-get install asciidoc xmlto docbook2X
如果使用的是Fedora/RHEL/RHEL衍生版,由于二进制文件名不同,还需执行一下命令
$ sudo ln -s /usr/bin/db2x_docbook2texi /usr/bin/docbook2x-texi
解决完所有必须依赖关系后,就可以从多处获取最新的标记发行版的打包文件了。通过Kernel.org网站或是Github网站都可以下载。接下来编译、安装,具体命令如下。
$ tar -zxf git -2.0.0.tar.gz
$ cd git-2.0.0
$ make configure
$ ./configure --prexfix=/usr
$ make all doc info
$ sudo make install install-doc install-html install-info
安装完成以后,后续的更新可以通过Git自身来获得,如下命令。
$git clone git://git.kernel.org/pub/scm/git/git.git
4、一些配置问题
(1)/etc/gitconfig文件:包含了系统中所有的用户及其仓库的值。如果向git config传入--system选项,那么就会专门从该文件中读写配置。
(2)~/.gitconfig或~/.config/git/config文件: 针对的是自己。可以通过--global选项使Git专门从该文件中读写配置变量。
(3)当前仓库的Git目录(也就是.git/config)中的config文件。针对单个仓库。
二、基础的命令行
设置用户身份
$ git config --global user.name "xxxx"(填自己的用户名)
$ git config --global user.email XXXX(填自己的邮箱地址)
检查个人设置
$ git config --list
获取帮助
$ git help <verb>
$ git <verb> --help
$ man git-<verb>
克隆现有仓库
$ git clone XXXXXX(远程仓库链接地址)
在Git中对现有项目进行跟踪管理,只需进入项目目录并输入命令
$ git init
对现有文件(非空目录)进行版本控制,应该开始跟踪这些文件并进行初次提交。对需要跟踪的文件执行几次git add命令,然后输入git commit命令即可
$ git add *.c
$ git add LICENSE
$git commit -m 'initial project version'
查看当前文件状态
$ git status
忽略文件
$ cat .gitignore
输出补丁
$ git diff
提交变更
$ git commit
查看提交历史
$ git log
撤销操作
$ git commit --amend
文末推荐一个Mac好用的可视化界面的项目版本控制软件SourceTree,可大大降低由于不熟悉命令行带来版本控制的操作困难。
参考文献:《精通GIt(第二版)》Scott Chacon Ben Straub
Git入门(安装及基础命令行操作)的更多相关文章
- Mac 下 Git 的基础命令行操作
Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...
- Docker 安装Hadoop HDFS命令行操作
网上拉取Docker模板,使用singlarities/hadoop镜像 [root@localhost /]# docker pull singularities/hadoop 查看: [root@ ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- linux快速入门 1.1命令行操作
http://lovesoo.org/linux-command-line-operation.html 1.1命令行操作 目录: <wp_nokeywordlink>Shell简介 &l ...
- 命令行操作svn和git和git
前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...
- mysql 命令行操作入门(详细讲解版)
之前分享过多次Mysql主题,今天继续分享mysql命令行入门 1. 那么多mysql客户端工具,为何要分享命令行操作? -快捷.简单.方便 -在没有客户端的情况下怎么办 -如果是mysql未开启 ...
- git 常用命令行操作
git常用命令行操作: 点击 git bash 进入到命令行: git clone https://github.com/wlz1244/qingoo.git //下载一个master分支代码 g ...
- git 工作流中的 Sourcetree 和命令行操作对比
git 工作流操作 1.初始化本地仓库文件夹 终端进入项目文件夹 git init 隐藏文件夹中有 .git 文件夹则初始化成功 2.git 查看仓库状态 这里以新建一个 demo.txt 为例 ① ...
- git 命令行操作(之前整理在有道的笔记)
1. 常用命令 切换分支 git checkout [branch_name] 检出分支 git clone [git_URL] 更新分支 git pull origin [branch_name] ...
随机推荐
- ng-packagr 不能全部打包文件
1.没有在public_api.ts中导出 export * from './src/app/ngprime/components/tooltip/tooltip.module'; export * ...
- Myeclipse和 eclipse中的控制台汉字横着显示修改
Myeclipse和 eclipse中的控制台汉字横着显示问题的修改 如图: 同一种字体有两种显示方式,比如微软雅黑和@微软雅黑,前一种汉字是竖着显示,后一种汉字是横着显示. 修改方法: prefer ...
- APP包打包签名步骤
开发混合app上架应用市场,需要进行应用签名,但是申请签名如果没搞过,会特别麻烦,所以我自自己总结了一下申请的步骤,在此记录一下 1.首先需要下载安装java环境即jdk, 2.配置环境变量 假设JD ...
- EVE-NG简单入门介绍
此篇文章简单的介绍下模拟器EVE-NG的使用,具体包括Dynamips设备导入与运行,IOL设备的导入与运行,QEMU设备的导入与运行,客户端软件的安装,物理网络与虚拟网络的结合等. 一.导入镜像 D ...
- [NOIP2014D2]
T1 Problem 洛谷 Solution 枚举那个点的位置,再O(n)扫一遍求出覆盖的公共场合的数量... 所以时间复杂度为O(128 * 128 * n) Code #include<cm ...
- 2072. Kirill the Gardener 3
http://acm.timus.ru/problem.aspx?space=1&num=2072 回忆一下 #include <iostream> #include <st ...
- MySQL数据库SQL语句基本操作
一.用户管理: 创建用户: create user '用户名'@'IP地址' identified by '密码'; 删除用户: drop user '用户名'@'IP地址'; 修改用户: renam ...
- Android四大组件之 --- Service入门
在前面了解了什么是多线程和异步消息处理机制后,我们来看一下到底什么是Service. 1. 什么是service(service的作用)一个服务是一个具有较长生命周期但没有用户界面的程序,例如:一个正 ...
- python笔记20-装饰器、作用域
函数的作用域是就近原则,从里往外找,如果自己函数里有,就拿过来如果自己的函数里面没有的话,就去它父级函数里面找,父亲用不了儿子的,儿子可以用父亲的函数只有被调用才会执行# name = 'python ...
- memge和saveOrUpdate的区别
今天做hibernate开发的时候遇到这样一个错误: a different object with the same identifier value was already associated ...