blog
blog copied to clipboard
Git的其他应用
Table of Contents generated with DocToc
- 使用Github
- 自定义Git
- 忽略特殊文件
- 配置别名
- 配置文件
-
搭建Git服务器
- 第一步: 安装git
- 第二步: 创建一个git用户,用来运行git服务
- 第三步: 创建证书登录
- 第四步: 初始化Git仓库
- 第五步: 禁用shell登录
- 第六步: 克隆远程仓库
使用github、自定义git、自己搭建git服务器
使用Github
在Github上面,所有的项目都是开源的,我们可以参与别人的开源项目,别人也可以参与自己的项目。
那么,我们怎么去参与别人的项目呢?比如我们想参与某个项目,并修复它的一个bug
我们先 Fork
一下这个项目,意思就是将当前的项目克隆一份到自己的Github账号上,然后从自己的远程仓库里 clone
一份到本地进行修改,修改完成后就可以push
到远程自己的仓库里。
完成之后,就可以在Github上发起一个 pull request
(简称PR),这样就把你的修改提交到了项目的发起人那里,当然,我们的修复是否被项目拥有人接受就不一定了。
自定义Git
我们在进行Git配置时,配置了user.name
和user.email
属性,除此之外,我们还可以为Git配置颜色
git config --global color.ui true
忽略特殊文件
有时候,我们需要让Git忽略一些文件,这些文件不需要被跟踪,Git为我们提供了方法
在Git工作区的根目录下创建一个 .gitignore
文件,然后把需要忽略的文件名写进去,Git就会自动忽略这些文件
最后把这个.gitignore
文件提交到Git就完成了。
有时候我们需要强制提交一些被忽略的文件,那么我们可以使用-f
参数
$ git add -f xxx.class
另外我们还可以使用git check-ignore
命令来查看哪些规则写错了
$ git check-ignore -v xxx.class
配置别名
有时候我们会觉得有些命令太长,不太好记,OK,Git为我们提供了设置别名的功能
比如,我们可以将命令git status
设置成git st
$ git config --global alias.st status
除此之外,我们还可以设置更多的别名,比如用co
表示checkout
,ci
表示commit
,br
表示branch
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
以后如果我们需要提交修改,就可以使用下面的简写代码:
$ git ci -m "bala bala bala..."
配置文件
我们在配置Git的时候,加上--global
参数,表示对当前用户起作用,如果不加,只对当前仓库起作用
Git的配置文件都放在.git/config
里
cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = [email protected]:kaindy7633/gitTest.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "dev"]
remote = origin
merge = refs/heads/dev
而当前用户的Git配置文件放在用户主目录下的隐藏文件.gitconfig
中
cat ~/.gitconfig
[user]
name = kaindy7633
email = [email protected]
[alias]
co = checkout
br = branch
st = status
ci = commit
[color]
ui = true
搭建Git服务器
搭建一台Git服务器需要运行Linux,如Ubuntu或Debian。
第一步: 安装git
$ sudo apt-get install git
第二步: 创建一个git用户,用来运行git服务
$ sudo adduser git
第三步: 创建证书登录
将所有需要登录的用户的公钥(id_rsa.pub)文件导入到/home/git/.ssh/authorized.keys
文件里,一行一个。
第四步: 初始化Git仓库
我们需要先选定一个目录为Git仓库,如:/srv/sample.git
,在/srv
目录下输入命令:
$ sudo git init --bare sample.git
这样Git就会创建一个裸仓库,它并没有工作区,因为服务器上的Git仓库是为了共享,所以不允许用户直接登录到服务器上去修改工作区,服务器上的Git仓库通常以.git结尾,然后把owner改为git
$ sudo chown -R git:git sample.git
第五步: 禁用shell登录
为安全考虑,我们可以通过修改/etc/passwd
文件来禁止用户登录shell
找到下面这行:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
第六步: 克隆远程仓库
现在我们就可以使用git clone
命令来克隆远程仓库了。