Git日常管理

初始化一个仓库

[[email protected] ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history .bash_logout  .bash_profile  .bashrc .cshrc  .pki  .tcshrc .viminfo
[[email protected] ~]# git init      #初始化(新建)git使用当前目录作为Git仓库,我们只需使它初始化。
Initialized empty Git repository in /root/.git/
[[email protected] ~]# ls -a      #查看,git为隐藏文件
.  ..  anaconda-ks.cfg  .bash_history .bash_logout  .bash_profile  .bashrc .cshrc  .git  .pki .tcshrc  .viminfo
[[email protected] ~]# cd .git/
[[email protected] .git]# ls  
branches config  description  HEAD hooks  info  objects refs
[[email protected] .git]# tree
.
├── branches                    #项目分支信息
├── config                     #Git项目配置信息
├── description                   #Git项目描述信息
├── HEAD                      #指向当前分支的末端
├── hooks                      #默认的hooks脚本,由特定事件触发
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── info                       #内有exclude文件:指定git要忽略的文件
│   └── exclude
├── objects                     #Git数据对象:commit、tree、blob、tag
│   ├── info
│   └── pack
└── refs                       #Git引用:指向(远程)分支、标签的指针
    ├── heads
    └── tags
 
9 directories, 13 files

设置名字

[[email protected] .git]# git config --global user.name"syaving"

设置邮箱

[[email protected] .git]# git config --global user.email"[email protected]"

设置差异颜色显示

[[email protected] .git]# git config --global color.ui true

设置别名

[[email protected] .git]# git config --global alias.it init
[[email protected] .git]# git config --global alias.olog"log --pretty=oneline"
[[email protected] .git]# git olog
e435fe88da4d214f5256130e720b1faf21f0f011 add readme
2525062715ac09c1da5d5e5b8d2294200d33e791 add readme

参数选项:

  • --global:修改全局配置文件,去配置~/.gitconfig

用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。

  • --system:修改所有用户的配置文件:/etc/gitconfig

系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。

  • 无参数:修改本仓库配置文件: .git/config

这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。

设置自动补全功能

[[email protected] ~]# pwd
/root
[[email protected] ~]# rz ## 上传git-bash-completion-master.zip
 
[[email protected] ~]# ls
anaconda-ks.cfg git  git-bash-completion-master.zip
[[email protected] ~]# unzip git-bash-completion-master.zip  ##解压git-bash-completion-master.zip
Archive: git-bash-completion-master.zip
d1d25024c4a68f7724a1876598664f13c01aac19
   creating:git-bash-completion-master/
  inflating:git-bash-completion-master/README.markdown 
  inflating:git-bash-completion-master/git-completion.bash 
[[email protected] ~]# ls
anaconda-ks.cfg git  git-bash-completion-master  git-bash-completion-master.zip
[[email protected] ~]# cd git
[[email protected] git]# cd ..
[[email protected] ~]# cd git-bash-completion-master/
[[email protected] git-bash-completion-master]# ls
git-completion.bash README.markdown
[[email protected] git-bash-completion-master]# mvgit-completion.bash ..
[[email protected] git-bash-completion-master]# ls
README.markdown
[[email protected] git-bash-completion-master]# cd ..
[[email protected] ~]# ls
anaconda-ks.cfg git-bash-completion-master      git-completion.bash
git             git-bash-completion-master.zip
[[email protected] ~]# rm -rf git-bash-completion-master*
[[email protected] ~]# ls
anaconda-ks.cfg git  git-completion.bash
[[email protected] ~]# source ~/git-completion.bash  #
[[email protected] ~]# echo source ~/git-completion.bash>> ~/.bashrc  ##加入环境变量
[[email protected] ~]# source ~/.bashrc              #使环境变量生效

文本编辑器

设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置::

[[email protected] .git]# git config --global core.editor emacs

差异分析工具

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

[[email protected] .git]# git config --global merge.toolvimdiff

Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合并工具的输出信息。

查看配置信息

要检查已有的配置信息,可以使用 git config --list 命令:

[[email protected] .git]# git config --list
user.name=syaving
[email protected]
color.ui=true
alias.it=init
alias.olog=log --pretty=oneline
core.editor=emacs
merge.tool=vimdiff
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true

有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

这些配置我们也可以在 ~/.gitconfig 或 /etc/gitconfig 看到,如下所示:

vim ~/.gitconfig

显示内容如下所示:

[http]
    postBuffer = 2M
[user]
    name = syaving
    email = [email protected]

也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可,像这样:

# git config user.name
"syaving"

!!!以上一段,为网上收集信息,没看明白。。

时间: 2024-10-17 16:08:58

Git日常管理的相关文章

IOS Git源代码管理工具

1.新建一个"本地仓库" $ git init 2.配置仓库 >告诉git你是谁 git config user.name lnj >告诉git怎么联系你 git config user.email [email protected] >上面一种配置方式是一次性的配置, 会配置到被管理文件的.git文件夹下 >下面一种配置方式是一劳永逸的方式: git config --global user.name lmj git config --global user.

GIt分支管理策略

大纲: 1.前言 2.创建分支 3.切换分支 4.合并分支(快速合并) 5.删除分支 6.分支合并冲突 7.合并分支(普通合并) 8.分支管理策略 9.团队多人开发协作 10.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对

CentOS服务器上搭建Gitlab安装步骤、中文汉化详细步骤、日常管理以及异常故障排查

一, 服务器快速搭建gitlab方法 可以参考gitlab中文社区 的教程 centos7安装gitlab:https://www.gitlab.cc/downloads/#centos7 centos6安装gitlab:https://www.gitlab.cc/downloads/#centos6 如下方法按照官网来操作,手工安装过于麻烦.当前测试平台为小鸟云的三个月centos 7测试机. 1. 安装配置依赖项 如想使用Postfix来发送邮件,在安装期间请选择'Internet Site

[转]Git分支管理策略

如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System). 眼下最流行的"版本管理系统",非Git莫属. 相比同类软件,Git有很多优点.其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便.有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用. 但是,太方便了也会产生副作用.如果你不加注意,很可能

git 日常工作提交

1.可以将一些目录排除在外,不接受管理 编译时生成的中间文件目录,写到同一目录下的 .gitignore 文件中,然后再对 $work 生成快照即可 $ cd $work$ echo "zh" >.gitignore$ git add   2.仓库与工作树 只是在你认为一个工作阶段完成之时,要刻通知git,命令它记下你所进行更新,这一步骤是通过生成文档快照并将基加入到索引中来实现的. 譬如今天,我向 $work 目录添加了一份新文档 ch1.tex ,我需要通知 git 记住我的

Git分支管理实战

Git分支管理实战: 使用了Git之后,Git确实比TFS 好用,首先它很轻巧,分支之间切换基本在秒级,分支创建也很方便,但由于方便快捷,最近我们一直在因为分支管理混乱而陷入无穷的痛苦之中, 在此痛定思痛,觉得借鉴网上一个好的方案来管理分支. 一.主分支: 实际开发中,主要存在两条主分支,Master和Develop 分支,这两个分支的生命周期是整个项目周期. 他们有如下特点: 1.Master和develop分支自创建之后都不会删除,会随着项目的增长不断往里面添代码. 2.Master分支是G

[廖雪峰] Git 分支管理策略

通常,合并分支时,如果可能,Git 会用 Fast forward 模式,但这种模式下,删除分支后,会丢掉分支信息. 如果要强制 禁用 Fast forward 模式,Git 就会在 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息. 下面我们实战一下 --no-ff 方式的 git merge: 首先,仍然创建并切换 dev 分支: $ git checkout -b dev Switched to a new branch 'dev' 修改 readme.txt

Windows环境下通过Git来管理自己的Android代码

前面已经介绍了在Windows下使用git工具来下载Android的源码,Windows环境下通过Git得到Android源代码,这里记录我使用git工具来管理我自己的代码,git是一种分布式的项目管理工具而CVS及SVN都是集中式的版本控制系统集中式版本控制系统最大的毛病就是必须联网才能工作,分布式版本控制系统根本没有"中央服务器",每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上,分布式和集中式通过以下两张图会清楚点 Window

KVM虚拟机的安装和日常管理

公司为了节约成本,需要把一部分业务迁到虚拟化平台上,今天把虚拟机装了出来,记一下笔记 1.物理机的系统安装(硬盘为300G+300G): centos6.5 64位,不安装桌面环境,默认运行级别为3 分区: /boot 128M swap 8G / 20G /data1  第一块硬盘剩余空间 /data2  第二块硬盘全部空间 采用最小化安装+以下软件包: BaseSystem -- Base Development-- Development tools 要配置好dns 确定系统时间与北京时间