安装Git
安装 MacPorts (http://www.macports.org) 。
装好 MacPorts后,用下面的命令安装 Git:
sudo port install git core svn doc bash_completion gitweb
初次运行Git的配置
配置用户信息
git config --global user.name "XXX" —— 配置用户名
git config --global user.email [email protected] ——配置用户邮箱
注:如果要在某个特定的项目中使用其他名字或者电邮,只要去掉--global选项重新配置即可。
查看用户信息
git config --list
也可以直接查阅某个环境变量的设定,只要把特定的名字跟在后面即可
git config user.name
Git仓库
(1)创建本地版本库
到项目所在目录
git init
git add .
git commit -m '描述提交信息'
(2)添加远程仓库
git remote add origin 仓库地址(将本地仓库关联远程仓库)
git push -u origin master 将内容推送到Github仓库(第一次提交加 -u)
(2)从已有仓库克隆
git clone 仓库地址
查看仓库状态
git status
查看文件更改
git diff
查看提交历史
git log
git log --graph(分支合并图)
git log --pretty=oneline(简化日志)
创建本地分支
git branch 分支名
切换到分支
git checkout 分支名
创建并切换到该分支
git checkout -b 分支名
合并分支
切换到目标分支,然后 git merge 分支名,将分支合并到目标分支。
git merge 分支名
git merge --no-ff -m '' 分支名(保存分支历史)
解决冲突
git mergetool
查看所有分支
git branch -a
git branch -av 带log
查看所有本地分支
git branch
查看所有远程分支
git branch -r
查看当前分支已合并了哪些分支(便于整理分支,将已被合并的无用分支删除)
git branch --merged
查看尚未合并的分支
git branch --no-merged
删除本地分支
git branch -d 分支名
删除远程分支
git push origin :分支名
将远程分支拉到本地
git checkout -b 本地分支名 origin/目标远程分支名
git fetch origin 远程分支名:本地分支名,git fetch origin / 然后 git merge origin/远程分支名
远程仓库重命名
git remote rename 旧名字 新名字
查看当前的远程仓库
git remote -v
暂存工作现场
git stash
恢复工作现场
git stash pop
查看工作现场
git satsh list
撤销修改
git checkout -- 文件名
版本回退
在git中,HEAD代表当前的版本,HEAD^代表上一个版本,HEAD^^代表向上返回两次,上100版本是HEAD~100
git reset HEAD file 把当前修改撤销回工作区原来的样子
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上一个版本
git reset --hard HEAD~回退到往上num个版本,例如:HEAD~10
git reset --hard 版本ID 回退到某个版本,例如:3628164版本号不用写全
多人合作
1.创建本地分支
git checkout -b 分支名
2.推送本地分支
git push origin 本地分支名
3.将远程分支抓取到本地
git checkout -b 本地分支名 origin/远程分支名
4.更新最新提交到本地
git pull origin 分支名
如果更新失败,则需要先建立远程与本地的关联。
git branch --set-upstream 本地分支名 origin/远程分支名
*注意
创建远程仓库之前,一定要设置ssh key,因为你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。