Git常用指令

来源:互联网 发布:淘宝联盟内部优惠券 编辑:程序博客网 时间:2024/04/28 12:32
本章学习常用的git指令,git是分布式版本管理的典型代表。在实际的工程项目中通常会有多个工程师在多个场合下工作,因此有必要对工程进行管理。目前开始学习git,为自己的项目管理打下基础。

1,git环境配置

git的安装就不说了,OSX、linux和windows都有对应的安装版本。在安装好git后需要对git环境进行配置,git使用git config工具进行配置,主要有以下三个配置文件:

  1. /etc/gitconfig文件:存放对系统中所有用户都有效的配置。对应的命令为:git config –system……读写的就是这个文件。
  2. ~/.gitconfig文件:存放对本地用户有效的配置。对应的命令为:git config –global……读写的就是这个文件。
  3. 当前项目中的配置文件(项目根目录下的.gitconfig文件):仅针对于当前项目有效。

每一级的配置都会覆盖上一层的配置,也就是说越接近工作项目的配置会越有效。

配置用户信息

git config --global user.name "chr1s"git config --global user.email "chr1s@csdn.cn"

每次git提交时都会引用这两条信息,说明是谁提交了更新。

配置文本编辑器

git config --global core.editor vim

当git需要用户输入时,会调用配置的文本编辑器

差异分析工具

git config --global merge.tool vimdiff

配置合并冲突时采用的差异分析工具

查看配置信息

git config --list

用户可以查看所有与git相关的配置信息

2, 使用git创建仓库

新建一个仓库

在要创建仓库的目录下执行一下指令,此时目录下会自动生成一个隐藏的.git目录。千万不要手动修改这个目录,维持整个仓库正常工作的文件

git init

查看当前仓库状态

git status

这条指令会查看当前仓库的状态,如果初始化仓库时目录中已经有文件存在,则系统会显示untracked file(s).
如果有文件改动,则可用git diff查看改动的文件

提交

git commit -m "manifest about your commit"

日志

git log

显示从最近到最远的提交日志

在git中,用HEAD表示当前版本,当前版本的上一个版本用HEAD^表示,当前版本的前10个版本可以用HEAD~10表示。

回退操作

git reset HEAD^

表示回退到当前版本的上一个版本。

git reset --hard version-number

指定滚到具体的版本。
可以使用git reflog来显示每一次的命令

git checkout -- file

可以丢弃file在工作区的全部修改。
两种情况:

  1. file自修改后还没有放到暂存区,撤销修改file就会回到和版本库一模一样的状态;
  2. file已经放到暂存区,又作了修改,撤销修改后file就会回到添加到暂存区后的状态。
git reset HEAD file

可以把暂存区的修改撤销掉,重新放回工作区。

git rm 用于删除一个文件

3,远程仓库

添加远程仓库之前需要有一个远程仓库,以github为例。github默认以ssh进行通信,在添加远程仓库之前,先在github上添加一个ssh-key公钥,具体做法参考ssh通信原理。在github上新建一个工程,使用git remote add origin git@github.com:myname/repoit.git. origin是为远程仓库起的一个别名。
使用git push -u origin master将当前版本的master分支推送到远程。-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

使用git clone指令克隆一个远程仓库。

4,分支管理

git branch branch-name

创建一个分支

git checkout branch-name

切换分支

git checkout -b branch-name

创建新分支并切换过去

git merge branch-name

合并分支到当前分支