git 的常用操作

背景:团队进行版本管理工具的切换,从svn切换到git。大势所趋~~

仓库操作

本地新建一个仓库

mkdir <本地文件夹名称>
cd <本地文件夹名称>
git init

//如本地bqxu.me 目录下初始化一个仓库:
mkdir bqxu.me
cd bqxu.me
git init

克隆远程仓库

git clone <远程仓库地址> <本地文件夹名称>

// 如:
git clone  https://github.com/bqxu/bqxu.github.io
//  如果没有本地文件夹名称 ,会在当前目录下,自动创建一个目录  bqxu.github.io
git clone  https://github.com/bqxu/bqxu.github.io bqxu.me
//  会将仓库直接clone 到 bqxu.me 下

添加远程仓库的地址

git remote add <远程仓库名称> <远程git仓库地址>
// 远程仓库名称 默认为 origin 可以修改,可以添加多个

如
git remote add origin https://github.com/bqxu/bqxu.github.io
// 执行 git remote 操作时,当前目录必须是一个 git 仓库 

修改远程仓库的地址

git remote set-url <远程仓库名称> <远程git仓库地址>

//如:
git remote set-url origin https://github.com/bqxu/bqxu.github.io

查看本地修改

git staus
  • 无变更

git-status clear

  • 有为提交的变更

git-status modified

  • 本地有已提交的变更、可push

git-status ahead

添加操作

// 添加单个文件 or 多个
git add <relative filePath> <relative filePath>

// 添加全部
git add --all

  • 添加一个文件

git-add a file

  • 添加全部变动文件

git-add all

提交操作

git commit -am '<commit message>'

git-commit

回退操作

//文件状态与分支的指针都指向上一个提交,可用于创建对应版本分支
git reset  --soft  <commit-id>

//只回退版本号、保留对应版本之后的变更,可用于更正提交内容
git reset  --mixed <commit-id>

更新操作

建议先fetch,确认与本地没有冲突在 pull 合并 如有冲突,建议使用 rebase

拉取远程变更

git fetch

git-fetch

拉取合并远程变更到本地

git pull

git-pull

推送操作

git push <远程仓库名称> <远程分支名称>

//如 推送 master 分支
git push origin master

//如 推送 20170927 分支
git push origin 20170927

git-push

分支操作

列出本地分支

//列出本地已经存在的分支,并且在当前分支的前面加“*”号标记
git branch
//列出远程分支
git branch -r
//列出本地分支和远程分支
git branch -a

git-push

创建分支

// 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换
git branch <分支名称>
// 创建一个新的本地分支切换到 新的分支
git checkout -b <分支名称>

指定提交创建分支

git reset  --mixed <commit-id>
git branch <分支名称>

切换分支

git checkout <分支名称>

合并分支操作

//切换到master 分支
git checkout master 
//合并 20170927 的代码到 master 分支
git merge 20170927
  • 合并

git-merge

  • 查看

git-status

  • 推送到远程仓库

git-push

svn 到 git 简单步骤

git svn clone <svn仓库地址>  --authors-file=users.txt --no-metadata <本地文件夹名称> --no-auth-cache

特别说明

在 users.txt 里面需要列明 svn 和 git 用户账号的对应关系 一行一个用户

如下

//svn用户名 = git用户名<git用户email>
bqxu=<bqxu@bqxu.me>

修改git默认编辑器

打开~/.git/config文件,在core中添加editor=vim即可

或者

运行命令 git config –global core.editor vim 修改更加方便