welcome to my blog


统计信息
  • 文章总数:7
分类信息1

Git 基本操作 git 字数:583

1 Git配置

1.1 基本配置

安装好git后需要对git进行一下可选的配置,通过个性化的设置使git更方便好用。 git的配置文件通常会分布在三个地方:

  • /etc/gitconfig
  • ~/.gitconfig
  • git 仓库下面的config

如果要对git进行配置,可以修改配置文件,也可以使用如下命令:

git config --system
git config --global
git config --local

这三条指令分别对应的是系统配置,全局配置和本地配置。系统配置会影响到使 用git的所有用户,全局配置影响的范围是单个用户下的所有项目,本地配置对 应的就是对具体某个项目的配置。这三种配置的优先级是:

local>global>system

下面列出一些常用的配置供大家使用

git config --global user.name "xxx"
git config --global user.email "xxx@xxx.com"

这两条指令配置了全局的用户名和邮箱,也就是个人信息配置。个人信息在git 中时非常重要的,每次commit操作都会把user.name和user.email写入提交信息 中的,因此在全局配置中指定,以后使用会非常方便。

git config --global user.editor eamcs

这条指令指定了默认编辑器,当git需要用户输入一些信息时会默认打开次编辑器, 如果没有指定,那么git会找系统默认的编辑器,通常情况下时vi/vim。我比较喜 欢emacs,当然如何配置因人而异。除了指定喜欢的编辑器以外还可以指定diff工 具。还有一个比较有意思的东西就是git能根据输出到终端的内容进行着色,以便 能直观的进行观察和操作:

git config --global color.ui true|always|false

color.ui设置为true开启着色功能,设置为always时git输出的内容如果重定向到 文件中依然会保留颜色。false选项会关闭着色。git可以自动为大部分的输出加 上颜色,如果不喜欢默认的颜色也可以自己细化定制,通常可以更改:

color.branch
color.diff
color.interative
color.status

例如要让diff以粗体,蓝色前景、黑色背景的方式显示:

git config --global color.diff.meta "blue black bold"

颜色选项有:normal、black、green、red、yellow、blue、magenta、cyan、
white等。
字体选项有:bold、dim、ul、blink、reverse
其他的配置可以参考git config

1.2 命令别名

git可以指定命令别名,和Linux中alias命令的效果一样,我们可以个性化一些别 名方便操作git,下面列出一些常用的别名指定方式,供大家参考:

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

# 撤销 add操作
git config --global alias.unstage 'reset HEAD --'
# 查看最后一条日志
git config --global alias.last 'log -l HEAD'
# 打开git图形化界面
git config --global alias.visual "!gitk"

2 常用命令

  1. 添加文件到缓冲区 文件添加后会从未跟踪状态变为跟踪状态,当文件的状态修改后git才能作出相应的判断。
    git add file..
    
  2. 提交当前版本 把所有通过add命令加入暂存区被跟踪的文件当作一个版本提交
    git commit -m "description"
    
  3. 推送到远程分支
    git push origin mzy
    
  4. 显示精简的状态输出
    git status -s
    
  5. 查看cached和版本库中的文件差异
    git diff --cached
    
  6. 暂存区的目录树会被master分支目录树替换
    git reset HEAD
    
  7. 删除暂存区的文件工作区不变
    git rm --cached <file>
    
  8. 限制引用对应的提交id结合 git cat-file -p 显示提交信息
    git rev-parse master
    
  9. 不要使用git commit -a命令 这样提交会使暂存区失去意义,丧失版本控制能 力。

3 Emacs 下面使用git

Emacs有强大的VC可以提供对git的支持,VC是一个抽象的版本控制系统,可以提供对多版本控制系统的支持如SVN、CVS、Git等。使用Git时还应结合EGit或着Magit等插件一起使用。 种下面简单介绍一下在Emacs下面使用Git的操作方式:

3.1 基本操作

  1. 初始化Git
    M-x -> magit-init          # 进入需要进行版本控制的目录执行此命令,相当于git init
    
  2. 添加文件到缓冲区
    C-x v i                    # 相当于git add <file>
    
  3. 提交文件
    C-x v v                    # 相当于git commit
    //添加提交Message
    C-c C-c                    # 完成提交
    
  4. 提交到远程服务器
    M-x magit-push             # 相当于git push
    //首次使用需要配置remote
    

3.2 分支操作

  1. 拉取远端分支
    C-x v +                    # 相当于git pull
    
  2. 合并分支
    C-x v m                    # 相当于git merge
    
comments powered by Disqus

Zhiyong Ma
ccdevote@gmail.com
github.com/ccdevote
顶部