Git简单教程

2018-03-14 15:01:02 csdn  点击量: 评论 (0)
本人首次发表和总结自己学的东西,有不好的地方请指出一、git上传项(安装Git) Git上传项目有两种方法:一种https方法,一种ssh方法 htt

1、删除已关联的远程仓库:

         Gitremote rm <name>(远程仓库的名字,自己命名的)

2、  关联第一个远程仓库:git remote add github git@github.com:youname/project.git

因为关联的github所以起名github

3、  关联第二个远程仓库:git remote add gitee git@gitee.com:younmae/project.git

因为关联的码云所以起名gitee

4、  推送命令分为两个:

Git push github master; git push giteemaster

七、自定义Git

    一、忽略特殊文件

在Git工作区的根目录下创建一个特殊的“.gitignore” 文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore

忽略文件的原则是:

1、忽略操作系统自动生成的文件,比如缩略图等;

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

3、忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

例如python开发:

# Windows:自动生成的文件需要忽略

Thumbs.db

ehthumbs.db

Desktop.ini

 

# Python:python编译时产生的文件需要忽略

*.py[cod]

*.so

*.egg

*.egg-info

dist

build

 

# My configurations:自己写的定义的一些文件需要忽略

db.ini

deploy_key_rsa

 

最后提交Git

强制提交忽略的文件:git add –f filename

添加文件有问题,检查忽略文件:git check-ignore           -vfilename

    二、Git 命令配置别名

--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用

git config --global alias.st status     ----> git status    ---->git st

git config --global alias.co checkout  ---->git checkout  ---->git co

git config --global alias.ci commit    ---->git commit   ---->gitci

git config --global alias.br branch    ---->gitbranch    ---->git br

git config --global alias.unstage 'resetHEAD'  ---->git reset HEAD file  ---->git unstage file

git config –global alias.last 'log  -1' ---->git log -1     ---->gitlast

 

甚至还有人丧心病狂地把lg配置成了:

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

来看看git lg的效果:

配置文件:

配置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:michaelliao/learngit.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[alias]
    last = log -1

别名就在[alias]后面,要删除别名,直接把对应的行删掉即可。

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

$ cat .gitconfig
[alias]
    co = checkout
    ci = commit
    br = branch
    st = status
[user]
    name = YourName
    email = your@email.com

配置别名也可以直接修改这个文件,如果改错了,可以删掉文件重新通过命令配置。

    三、搭建Git服务器

搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。

假设你已经有sudo权限的用户账号,下面,正式开始安装。

1、  安装Git : sudo apt-get install git

2、  创建Git用户,用来运行Git服务:sudo adduser git

3、   创建登录证书:收集所有需要登录的用户的公钥,就是他们自己的id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

4、   初始化Git仓库:选定一个目录:sudo git init --bare sample.git;Git就会创建一个裸仓库,裸仓库没有工作区,因为服务器上的Git仓库纯粹是为了共享,所以不让用户直接登录到服务器上去改工作区,并且服务器上的Git仓库通常都以.git结尾。然后,把owner改为git:sudo chown -R git:git sample.git

5、  禁用shell登录:

出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:

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

改为:

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

这样,git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

6、克隆远程仓库:git clone git@server:/srv/sample.git

大云网官方微信售电那点事儿

责任编辑:售电衡衡

免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞