初始化:
$ git init 生成子目录“.git”.
都要做的配置:
$ git config --global user.email 邮箱机制
$ git config --global user.name 用户名
分支(branch)
$ git branch (-a 看全部 -r远程 不填看本地)
$ git checkout -b local remote 切换并创建
$ git branch -d branch 删除
显示差异(diff)
$ git diff 显示工作目录与缓存区(Index)之间的差异
$ git diff --cached 显示缓存区(Index)与当前git库版本之间的差异
$ git diff HEAD 显示工作目录与当前git库版本之间的差异
$git stash 暂存修改,恢复工作区,方便pull 和 checkout
$git stash list 查看暂存区列表
$ git stash pop 弹出堆栈顶部的“修改”,并实施于工作目录或者暂存区
$ git stash apply 应用堆栈顶部的“修改”,但不弹出
$ git stash apply stash@{1} 应用堆栈顶部起第2个的“修改”(0序),但不弹出
$ git stash drop 抛弃堆栈顶部的“修改”
$ git add 添加到暂存区
$ git status 查看工作区和暂存区的区别
$ git pull 更新代码 默认merge 按合并顺序
$ git pull origin master --rebase 合并到本端分支的策略是采用rebase(按提交时间顺序)
# git pull <remote> <branch> 把远端origin的master分支拖动到本端git仓库
$ git commit -m "normal commit"
$ git commit -s -m "signed commit"
$ git commit -a -m "auto add modified commit"
$ git commit --amend -m "Correct message" 把本次提交与最后一次提交合并(删除最后一次提交,加入合并后的提交)
$ git push :把本端的branch分支推送到远端git仓库中
$ git push -u origin master 推到指定远端仓库
$ git log 显示所有提交
$ git log --merges 只显示合并的提交
$ git merge branchName 把其他某个分支,合并入当前分支.
$ git merge --no-ff branchName 有冲突也会合并 最好别用
# 复位缓存区,用HEAD指向的内容更新缓存区(Index)与工作目录
$ git reset --hard commitID 回到某一远端提交
$ git revert 回到某一本地提交
$ git cherry-pick <commit id> 合并某一次提交只合并当次的修改的部分