·通过Homebrew安装Git
1、安装Homebrew命令:去 http://brew.sh/ 复制命令
2、安装Git:brew install git
·版本库Repository
1、创建或找一个合适的目录
2、在该目录下,通过 git init 命令,使这个目录成为Git可以管理的仓库
·添加文件到Git库
1、使用命令 git add
2、使用命令 git commit -m "提交信息",完成
另:
1、git status 命令查看工作区状态
2、git diff 可以查看修改内容
·版本回退
1、git log --pretty=oneline 查看提交日志历史
2、git reset --hard HEAD^ 回到上一版本 (HEAD指当前版本,HEAD~100回到前100个)
3、git reset --hard 回退到任意版本
4、git reflog 查看命令历史,以便确定要回到哪个版本
·工作区和暂存区
1、就在电脑上能看到的目录,就是工作区,工作区里有个隐藏的.git文件。
2、git add 命令,实际上是把文件修改添加到暂存区,
3、git commit 命令,实际就是把暂存区的所有内容提交到当前分支
·远程仓库
1、shh-keygen -t rsa -C "youremail@example.com"命令,创建SHH key
2、在主目录里找到.shh目录,里面有id_rsa和id_rsa.pub两个文件
3、登录Github,打开Account Setting,SHH Keys页面
4、用id_rsa.pub里的内容,添加一个新的SHH Key
5、通过Create New Repo创建一个新仓库
本地库与远程库关联:
1、在本地库目录下执行:git remote add origin https://github.com/yourAccount/yourgitRepo.git
2、git push -u origin master ,把本地所有内容推送到远程库上
(由于远程库是空的,我们第一次推送master分支的时候,加上-u参数,Git不但会把本地的master分支内容推送到远程的新的master分支,还会把本地跟远程的master分支关联起来,以后推送或拉取就可以简化命令。)
3、git clone https://github.com/Goyakod/learngit.git,从远程库克隆
·分支管理
1、git branch ,查看分支
2、git branch ,创建分支
3、git checkout ,切换分支
4、git chectout -b ,创建+切换分支
5、git merge ,合并某分支到当前分支
6、git branch -d ,删除分支
解决冲突:
1、当两个分支都有提交的时候,就无法顺利合并
2、需要手动解决冲突,进入有冲突的文件把>>>>,=====,>>>>的内容进行修改后,再提交
3、git log --graph --pretty=oneline --abbrev-commit,查看分支合并图
4、git merge --no-ff -m “” dev,禁用Fast forward合并分支
BUG分支
1、git stash,把工作区储藏,
2、git stash list,查看储藏的工作区
3、git stash pop,恢复之前储藏的工作区并删除
Feature分支
1、已经完成提交的分支,如果还没有合并就要删除,就必须强行删除:git branch -D
多人协作
1、git remote -v,查看远程库信息
2、git push origin ,从本地推送分支到远程库,如果推送失败,先用 git pull 抓取远程的新提交
3、git checkout -b orgin/,在本地创建和远程分支对应的分支
4、git branch —set-upstream origin/,简历本地分支和远程分支的关联
·标签管理
1、git tag v1.0,创建标签
2、git show v1.0,查看标签信息
3、git tag v0.9 ,为某次提交打标签
4、git tag -a -m “blablabla…”,指定标签信息
5、git tag -d v1.0,删除标签
6、git push origin v1.0,推送某标签到远程
7、git push origin --tags,推送所有标签到远程
8、git push origin :refs/tags/,删除一个远程标签
·管理修改
1、git diff HEAD -- 命令,可以查看工作区和版本库里最新版本的区别
2、git checkout -- 命令,可以把文件在工作区的修改全部撤销
3、git reset HEAD + 2命令,可以把已经提交到暂存区的修改撤销
4、git rm + git commit ,可以从版本库删除文件