Git:目前世界上最先进的分布式版本管理系统
一、git安装
在mac上安装
第一种方法,安装homebrew,然后通过homebrew安装git,homebrew帮助文档:http://brew.sh/。
第二种方法,安装Xcode,Xcode集成了Git,但是默认没有安装,运行Xcode,选择菜单Xcode-->preferences-->Dowloads,选择“command line tools",点击Install即可完成安装
在Windows上安装
从Git官网下载安装程序,选择默认安装,安装完成后在菜单里找到Git-->Bash,弹出命令窗口表示安装成功。安装完成后在命令窗口中输入:
git config --global user.name "your name"
git config --global user.email "your email"
这样就完成git配置,然后就可以安心的使用Git啦
二、创建版本库
版本库又名仓库,英文名repository
1.选择一个合适的地方创建一个目录,你可以自己手动创建文件,也可以用命令:mkdir [name],然后进入该目录 : cd [name],最后输入pwd
mkdir learngit
cd learngit
pwd
2.初始化,将learngit变成git可管理的仓库
git init
3.提交
git add [文件名]
git commit -m "[提交说明]”
4.版本回退
回退到上个版本:git reset --hard HEAD^
回退到指定的版本:git reset hard [commit id] ,commit id可以通过 git log 命令查看当前命令窗口所有的commit id,git reflog可以查看所有命令(命令窗口关闭了也可以)
5.撤销修改
若修改了文件,后又不想修改了想回到修改前的版本
git checkout -- [文件名]
若修改了文件并添加到暂存区
git reset hard HEAD^
git checkout -- [文件名]
6.删除文件
git rm [文件名]
git commit -m "[删除了某个文件]"
撤销删除:git checkout -- [文件名]
三、远程仓库(github为例)
1.创建SSH Key(若根目录已存在.ssh目录,忽略此步骤)
打开shell
ssh-keygen -t rsa -C "your email"
根目录会生成.ssh目录,里面会有id_rsa和id_rsa.pub文件
将id_rsa.pub里的内容添加到github中ssh中
2.在github中新建仓库(create a new repository)
3.在本地仓库下关联远程仓库:
git remote add origin git@github.com:[github用户名]/[仓库名]
将本地仓库文件推送送远程仓库
git push -u origin master
以后每次本地仓库有提交,都可以用以上命令提交到远程仓库
4.克隆远程仓库
在github上准备一个远程仓库
本地克隆远程仓库
git clone git@github:[用户名]/[仓库名]
或
git clone https://github.com/[用户名]/[仓库名]
第一种方式更快
四、分支
master为主分支,自己可以创建新的分支,在分支上提交的内容最后需要与主分支合并,可理解为临时分支。场景:开发一个新功能需要10天时间,如果将每天的代码提交到master上可能会master上运行的程序错误,但是不提交可能会导致代码丢失,提交到新分支上不会影响master上的代码,等功能全部开发完成在将分支合并即可,此时可删除临时创建的分支。
1.创建分支
git branch [分支名称]
git checkout dev
或
git checkout -b dev
git branch 列出所有分支
带*的为当前分支
当dev分支上有内容提交后,master分支上的内容是不变
合并分支
git checkout master(回到master)
git merge dev(合并)
合并完成后可删除dev分支
git branch -d dev
合并分支有冲突之后要手动解决冲突再次提交
上述为快速合并模式,普通合并模式:
git merge --no-ff -m "merge with no-ff" dev
2.Bug分支
保存当前工作区:
git stash
切换到需要修改的分支:
git checkout master
创建修复bug的分支
git checkout -b bug_01
修复bug
提交内容-->回到master分支-->合并bug分支-->删除bug分支
回到工作分支,恢复工作区:
git stash apply-->git stash drop
或者
git stash pop
查看stash:
git stash list
可以保存多个工作区,恢复指定的工作区:git stash apply stash@{0}(这里是查看stash是时显示的内容)
3.Feature分支
开发完成还没有合并,但是此开发不需要了需要删除:
git branch -D [分支名称]
五、拉取
拉取远程仓库的内容:
git pull
写到这里基本够用了,本文参考Git教程