Git 安装与使用

在linux下搭建git环境

  1. 创建Github账号,https://github.com
  2. Linux创建SSH密钥:

    #一直默认就可以了
    ssh-keygen
  3. 将公钥加入到Github账户信息Account Settings->SSH Key
  4. 测试验证是否成功

    ssh -T git@github.com
    Hi someone! You've successfully authenticated, but GitHub does not provide shell access.

同步github到本地

1、复制项目到本地

#以gitreadonly方式克隆到本地,只可以读
git clone git://github.com:xxxx/test.git
#以SSH方式克隆到本地,可以读写
git clone git@github.com:xxx/test.git 
#以https方式克隆到本地,可以读写
git clone https://github.com/xxx/test.git
#获取到本地但不合并
git fetch git@github.com:xxx/xxx.git
#获取并合并内容到本地
git pull git@github.com:xxx/xxx.git

本地提交项目到github

1、本地配置

git config --global user.name 'jphcn'
git config --global user.email 'admin@jiangpenghui.cn' #全局联系方式,可选

2、新建Git项目并提交到Github

mkdir testdir & cd testdir
touch README.md
#初始化一个本地库
git init
#添加文件到本地仓库
git add README.md
#本地倒库内删除
git rm README.md
#提交到本地库并备注,此时变更仍在本地
git commit -m "first commit"
#自动更新变化的文件,a可以理解为auto
git commit -a
#增加一个远程服务器的别名
git remote add xxx git@github.com:xxx/xxx.git
#删除远程版本库的别名
git remote rm xxx
#将本地文件提交到Github的remoname版本库中
git push -u remotename master

分支版本操作

1、创建和合并分支

#显示当前分支是master
git branch
#创建分支
git branch new-feature
#切换到新分支
git checkout new-feature
vim page_cache.txt
git add page_cache.txt
git commit -a -m "added initial version of page cache"
#把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。
git push origin new-feature

2、如果new-feature分支成熟了,觉得有必要合并进master

#切换到新主干
git checkout master
#把分支合并到主干
git merge new-feature
#显示当前分支是master
git branch
#此时主干中也合并了new-feature的代码
git push

基本命令

# 查看当前本地提交状态
git status
# git add上传本地项目所有变化的命令三种有 git add -A、git add -u、git add .
#提交所有变化
git add -A
#提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add -u
#提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add .
# 提交到本地
git commit -a -m "first commit"
# 上传到仓库
git push
# 更新文件
git pull
# 这个参数是克隆最近一次commit
--depth=1