本人所有文章目录:http://my.oschina.net/ChenTF/blog/677112
本篇文章地址: http://my.oschina.net/ChenTF/blog/1861021
转载请注明出处
本地操作
// 查看
$ git status
$ git diff // 查看未add的改动
$ git log --pretty=oneline(只显示一行) --graph(图形化显示)
$ git reflog // 查看所有的记录
$ git remote -v // 查看远端库
// 对比
$ git diff // 查看未暂存区的改动
$ git diff --cached // 查看暂存区的改动
$ git diff HEAD // 查看所有未commit的改动(暂存+未暂存)
$ git diff HEAD -- readme.txt // 查看readme.txt文件与当前分支间的改动
$ git diff HEAD^ HEAD // 上一次提交与这次提交间的改动
// 提交
$ git add
$ git add -a
$ git commit -m "commit info" -a(将add合并提交)
// 版本回滚
$ git reset --hard e23432 //e23432是版本号
$ git reset --hard HEAD^ // 回滚到上个版本
// 撤销
$ git checkout -- filePath // 删除unstaged内容
$ git reset HEAD file // staged内容 -> unstaged
// 删除
$ git rm file
// HEAD: 指的就是当分支
远端操作
// 创建仓库, 将代码与远端库同步
$ git remote add origin git@github.com:ChenTF/gitlearning.git // 本地仓库关联远端仓库
$ git remote remove <name> // 移除远程仓库
$ git push -u origin master // 将本地代码 推送到远端仓库, -u将本地的master与远端的master关联起来
$ git branch --set-upstream-to=origin/<branch> master // 将远端库与本地库关联起来
$ git push orgin <name> // 推送代码到远端
// 克隆仓库到本地
$ git clone git@github.com:ChenTF/gitlearning.git //
$ git pull // 拉取远端当前分支代码
分支
// HEAD指向分支, 分支指向提交
$ git checkout x // 切换到x分支(HEAD指向x分支)
$ git checkout -b dev // -b创建+切换分支 == $ git branch dev + $ git checkout dev
$ git checkout -b dev origin/dev // 创建本地与远程分支
$ git branch // 查看所有分支
$ git branch <name> // 创建分支
$ git branch -a // 查看所有分支(包含远端)
$ git branch -d <name> // 删掉XX分支
$ git branch --set-upstream dev origin/dev // 将dev分支与origin/dev分支关联
$ git merge dev // 将dev的代码合并到当前分支
--no-ff(非Fast forward模式, 合并后有历史) -m(文案)
// 删除分支
$ git push origin --delete <branchName>
$ git push origin :<branchName>
// 变基
$ git rebase
// 合并
$ git merge dev // 合并dev到当前分支
标签
$ git tag // 查看
$ git tag -l // 查看
$ git show <tagname> // 详情
$ git tag <tag_name> // 创建
$ git tag <tag_name> <commit_id> // 以制定提交打tag
(-a 标签名 -m 说明 -d 删除)
$ git tag -d <tag_name> // 删除
$ git push origin :refs/tags/<tagname> // 先删除本地的, 再执行
$ git tag push <tag_name> // 推送制定的tagName
$ git tag origin --tags // 推送所有tag
$ git push —-tags // 推送所有tag
暂存
$ git stash // 暂存当前工作区内容
$ git stash pop // 恢复工作区内容
$ git stash apply // 恢复, 但不删除暂存内容
$ git stash drop // 删除暂存内容
配置
// 设置颜色
$ git config --global color.ui true
觉得对你有帮助, 想请我喝杯果汁?