背景:团队进行版本管理工具的切换,从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
// 添加单个文件 or 多个
git add <relative filePath> <relative filePath>
// 添加全部
git add --all
git commit -am '<commit message>'
//文件状态与分支的指针都指向上一个提交,可用于创建对应版本分支
git reset --soft <commit-id>
//只回退版本号、保留对应版本之后的变更,可用于更正提交内容
git reset --mixed <commit-id>
建议先fetch,确认与本地没有冲突在 pull 合并 如有冲突,建议使用 rebase
git fetch
git pull
git push <远程仓库名称> <远程分支名称>
//如 推送 master 分支
git push origin master
//如 推送 20170927 分支
git push origin 20170927
//列出本地已经存在的分支,并且在当前分支的前面加“*”号标记
git branch
//列出远程分支
git branch -r
//列出本地分支和远程分支
git branch -a
// 创建一个新的本地分支,需要注意,此处只是创建分支,不进行分支切换
git branch <分支名称>
// 创建一个新的本地分支切换到 新的分支
git checkout -b <分支名称>
git reset --mixed <commit-id>
git branch <分支名称>
git checkout <分支名称>
//切换到master 分支
git checkout master
//合并 20170927 的代码到 master 分支
git merge 20170927
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/config
文件,在core中添加editor=vim即可
或者
运行命令 git config –global core.editor vim
修改更加方便