git学习及常用代码

作者: Ke_Wang | 来源:发表于2016-09-02 09:44 被阅读335次

记录一下学习git过程中的感悟和知识点

无意间在网上看到的图,将git的工作原理表现的淋漓尽致,特来分享下


2016083038416QQ20160830-0.png

解释一下:

  • workspace就是工作区,可以理解问本地的代码工作区域,不与本地仓库挂钩,只要不提交,本地仓库就不会变。
  • index 就是暂存区,因为workspace的代码在commit提交到本地仓库前需要先add到暂存区(进行检查,看查diff等操作)
  • Repository 是本地的仓库,顾名思义就是存储本地代码和修改记录的地方,跟远程仓库其实是一样的,只不过是本地的而已,他是从远程clone下来的。
  • Remote就是远程的仓库,里面存放代码和修改记录等信息,与本地仓不同的就是在网上放着, 不怕电脑GG,可以让其他clone到他们的本地。

操作:

  • add,将本次工作修改的代码提交到暂存区(index)等待查看等,
  • commit 将本次的修改提交到本地仓库,后缀本次修改的备注(一定要先add了再commit)
  • checkout 新建一个本地的分支来工作,一般是在新添功能的时候做的,新建一个分支不影响主分支,完成后再合并到主分支
  • push 将本地仓库的修改推到远程仓库分支,使远程仓库获取最新的代码,(一般都是要推到远程的分支的,一般远程的主分支是上线版本,不能轻易动的,远程分支上用来测试升级版的)
  • fetch,默认情况下,取回所有分支的更新,如果只想取回特定分支的更新,可以指定分支名。
  • clone ,完整的将仓库master分支上的代码全部clone下来
  • pull 本地获取远程的更新。

最常用的一些git命令

配置

  • git init # 初始化本地git仓库(创建新仓库)

  • git config --global user.name "xxx" 配置用户名

  • git config --global user.email "xxx@xxx.com" 配置邮件

  • git config --global color.ui true 给git status等命令自动着色

  • git config --global color.status auto

  • git config --global color.diff auto

  • git config --global color.branch auto

  • git config --global color.interactive auto

正文

  • git clone git或者ssh://git@000.000.0.0/XX.git clone远程仓库

  • git status 查看当前版本状态(是否修改)

  • git add XXX 添加XXX文件至暂存区

  • git add . 增加当前子目录下所有更改过的文件至暂存区

  • git commit -m 'xxx' 提交(后面加本次提交信息,不写会报奇怪的错)

  • git commit --amend -m 'xxx' 合并上一次提交(用于反复修改)

  • git commit -am 'xxx' 将add和commit合为一步

  • git rm xxx 删除暂存区中的文件

  • git rm -r * 递归删除

  • git log 显示提交日志

  • git log -1 显示1行日志 -n为n行

  • git log --stat 显示提交日志及相关变动文件
  • git show XXXXX 显示某个提交的详细内容

  • git tag 显示已存在的tag

  • git tag -a v2.0 -m 'xxx' 增加v2.0的tag

  • git show v2.0 显示v2.0的日志及详细内容

  • git log v2.0 显示v2.0的日志

  • git diff 显示所有未添加至暂存区的变更

  • git diff --cached 显示所有已添加index但还未commit的变更

  • git diff HEAD^ 比较与上一个版本的差异

  • git diff origin/master..master 比较本地master分支上没有的远程主分支区别

  • git remote add origin git+ssh:// 增加远程定义(用于push/pull/fetch)

  • git branch 显示本地分支

  • git branch --contains xxxx 显示包含提交xxxx的分支

  • git branch -a 显示所有分支,本地和远程的

  • git branch -r 显示所有原创分支

  • git branch --merged 显示所有已合并到当前分支的分支

  • git branch --no-merged 显示所有未合并到当前分支的分支

  • git branch -m master master_copy 本地分支改名

  • git checkout -b master_copy 从当前分支创建新分支master_copy并检出

  • git checkout v2.0 检出版本v2.0

  • git checkout -b XXXX origin/YYY 从远程分支XXXX创建新本地分支YYY并检出

  • git merge origin/master 合并远程master分支至当前分支

  • git cherry-pick XXX 合并提交XXX的修改

  • git push origin master 将当前分支push到远程master分支

  • git push origin :XXX/YYY 删除远程仓库的XXX/YYY分支

  • git push --tags 把所有tag推送到远程仓库

  • git fetch 获取所有远程分支(不更新本地分支,另需merge)

  • git fetch --prune 获取所有原创分支并清除服务器上已删掉的分支

  • git pull origin master 获取远程分支master并merge到当前分支

  • git reset --hard HEAD 将当前版本重置为HEAD(通常用于merge失败回退)

  • git branch -d XXX/YYY 删除分支XXX/YYY(本分支修改已合并到其他分支)

  • git branch -D XXX/YYY 强制删除分支XXX/YYY

  • git ls-files 列出git index包含的文件

  • git show-branch 图示当前分支历史

  • git show-branch --all 图示所有分支历史

  • git whatchanged 显示提交历史对应的文件修改

  • git revert XXXXXXXX 撤销提交

  • git stash 暂存当前修改,将所有至为HEAD状态

  • git stash list 查看所有暂存

  • git stash show -p stash@{0} 参考第一次暂存

  • git stash apply stash@{0} 应用第一次暂存


以后git用的多了 肯定会增加命令的 ,以后再补充吧


几篇学习git非常好的教程:
易佰网的git教程
伯乐在线的git系列教程共有九篇,讲的非常详细

相关文章

  • git学习及常用代码

    记录一下学习git过程中的感悟和知识点 一 无意间在网上看到的图,将git的工作原理表现的淋漓尽致,特来分享下 解...

  • Linux/Mac配置常用alias

    首发于fxm5547的博客 常用alias及配置指导 现有常用 简单版拉最新代码: alias gp='git c...

  • Git学习----版本回退(reset & revert)

    前提 git已提交几次代码。具体方式见:Git命令学习----常用命令[https://www.jianshu.c...

  • git常用指令

    常用命令:git clone +"地址" //从git仓库下载代码git init ...

  • git 常用命令

    用了一段时间的git了,把常用的git做个记录: git pull (更新代码) git add . (将代码提...

  • 常用 Git 命令清单[转载]

    地址: 常用 Git 命令清单 一、新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建...

  • git日常的基本操作

    git作为目前最常用的代码管理工具,繁多的git命令和代码管理规范都是需要我们掌握的。本次针对git的常用命名进行...

  • git 命令

    常用命令 git clone http://test.git //拉代码 git add . //添加文件 git...

  • Git常用代码

    一、下载并安装、配置Git 1、下载地址:https://git-scm.com/downloads 2、配置: ...

  • Git常用代码

    Git常用 git提交项目 git init 在项目中打入.git文件 git add src 添加文件夹 g...

网友评论

    本文标题:git学习及常用代码

    本文链接:https://www.haomeiwen.com/subject/nqufettx.html