Git 基本命令
安装
在mac osx 上的安装:
方法一
安装homebrew,然后通过homebrew 安装git
具体方法参考:http://brew.sh;
方法二
直接从AppStore 安装Xcode,Xcode 集成了Git,不过默认没有安装。
命令
自报家门
$git config --global user.name "Your Name"
$git config --global user.email "email@example.com"
初始化仓库
$git init
添加文件到Git 仓库
$git add <file>
$git commit -m <message>
状态查看
$git status
$git diff
HEAD 指向当前版本
$git reset --hard commit_id
$git log --graph --pretty=oneline --abbrev-commit
查看命令历史
$git reflog
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令
$git checkout -- file
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步如下命令,就回到了场景1,第二步按场景1操作
$git reset HEAD <file>
删除文件
$git rm
创建SSH Key. 对应目录 ~/.ssh
$ssh-keygen -t rsa -C "youremail@example.com"
关联一个远程库
$git remote add origin git@server-name:path/repo-name.git
关联后,首次推送master 分支全部内容
$git push -u origin master
后续修改推送,可以使用下面命令
$git push origin master
克隆仓库 Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
$git clone
查看分支
$git branch
创建分支
$git branch <name>
切换分支
$git checkout <name>
创建+切换
$git checkout -b <name>
合并某分支到当前分支
$git merge <name>
删除分支
$git branch -d <name>
删除没有合并的分支
$git branch -D <name>
查看分支合并图
$git log --graph
暂存工作现场
git stash
恢复现场git stash pop
查看远程库信息,使用
git remote -v
;
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
;
从远程抓取分支,使用git pull
,如果有冲突,要先处理冲突。
rebase操作可以把本地未push的分叉提交历史整理成直线;
rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
删除远程分支:
git push origin --delete branch-name
删除远程分支,可能会用到如下的同步命令:
git fetch -p origin
清除远程分支的本地缓存
为某个commit-id 生成/应用补丁:
git format-patch commit-id
生成补丁
git am patch-file
应用补丁
删除本地已经过期的分支:
git remote prune origin
至此,结束。