首页 > 代码库 > Git学习笔记(三)

Git学习笔记(三)

学习网址

标签管理

一、创建标签

创建标签,更容易记住名字,创建和删除标签都是瞬间完成。

1、创建和查看标签名:

 技术分享

2、给历史某个commit添加标签:

 技术分享

注意tag标签不是时间排序列出,是按字母列出。

 技术分享

3、查看标签信息git show <tagname>:

 技术分享

4、创建带说明的标签,用-a指定标签名,-m指定说明文字:

 技术分享

查看:

 技术分享

5、使用-s用私钥签名一个标签:

标签采用PGP签名,必须安装gpg(GnuPG)如果没安装会报错:

 技术分享

安装后,可以使用git show <tagname> 可以看到PGP签名信息

二、 标签操作

1.标签:

 技术分享

2、推送某个标签到远程 git push origin <tagname>:

$ git push origin v1.0

Total 0 <delta 0>,reused 0 <delta 0>

To github.com:AngleHeart/gitskills.git

Xinghao [new tag]   v1.0 -> v1.0

3、一次性推送全部本地标签到远程:$ git push origin –-tags

 技术分享

4、删除远程标签:

a 删除本地标签: $git tag –d v1.0   b 删除远程标签: $git push origin :refs/tags/v1.0

技术分享

自定义Git

一、忽略特殊文件

1、定义git显示样式,会适当的显示不同的颜色,做区分:

 技术分享

2、忽略特殊文件规则:

  a.统自动生成的文件。

  b.忽略自动编译生成的中间文件、可执行文件等,就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库。

  c.略自己带有敏感信息的配置文件,如口令的配置文件。

3、新建一个.gitignore文件(禁止提交的文件,自定义),提交到Git: 

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa
*.idea

windows创建.gitignore时,会要求必须输入文件名。可使用编辑器创建该文件

4、有时添加一个文件会失败,这是因为别 .gitignore忽略了:

 技术分享

5、可以用 –f 强制添加到Git:

 技术分享

6、可以使用 git check-ignore 命令查询 .gitignore 的位置:

 技术分享

一、配置别名

1.简写命令

git status => git st :

$ git config –global alias.st status

$ git config –global alias.co checkout

$ git config –global alias.ci commit

$ git config –global alias.br branch

--global参数是全局参数,修改之后的命令,在当前电脑下所有Git仓库都适用。

git reset HEAD file => git unstage  把暂存的区域撤销:

$ git config –blobal alias.unstage “reset HEAD”

git log -1 => git last   最后一次提交

$ git config –blobal alias.last “log -1”

2.git lg:

技术分享

3.配置文件

—global是针对当前用户起作用,不加,只针对当前仓库。

每个仓库的Git配置文件都在.git/config文件中:

[core]
   repositoryformatversion = 0
   filemode = false
   bare = false
   logallrefupdates = true
   symlinks = false
   ignorecase = true
[remote "origin"]
   url = git@github.com:AngleHeart/gitskills.git
   fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
   remote = origin
   merge = refs/heads/master
[alias]
   co = checkout
   t = status

别名就在[alias]后面。

当前用户Git配置文件在用户主目录下的一个隐藏文件.gitconfig 中:

[user]
   name = youyou
   email = 595093508@qq.com
[color]
   ui = true
[alias]
   st = status
   lg = log --color --graph --pretty=format:%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset --abbrev-commit

三、搭建Git服务器(个人没有搭建过,只做记录)

搭建Git服务器需要一台运行Linux的机器,推荐用UbuntuDebian

有sudo 权限,开始安装:

第一步,安装git:

$ sudo apt-get install git

第二步,创建一个git 用户,运行git服务:

$ sudo adduser git

第三步,创建证书登录:

把公钥 id_rsa.pub 文件,导入 /home/git/.ssh/authorized_keys 文件中,一行一个。

第四步,初始化Git仓库:

选择一个目录,假设是 /srv/sample.git,在 /src 目录下输入命令:

$ sudo git init –bare sample.git

用户不可以直接在服务器上操作,服务器上Git仓库是为了共享,Git仓库通常以 .git 结尾。把owner改为git:

$ sudo chown –R git:git sample.git

第五步,禁用shell登录:

第二部创建的用户不允许登录shell,通过编辑 /etc/passwd 文件完成,找到类似:

git:x:1001:1001:,,,:/home/git:/bin/bash

改为:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

用户可以通过ssh使用git。

第六步,远程克隆仓库:

$ git clone git@server:/srv/sample.git

 

Git学习笔记(三)