使用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 = git@github.com: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 = kaindy7633@gmail.com[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
命令来克隆远程仓库了。