美文网首页
git入门及拓展

git入门及拓展

作者: Wenliang | 来源:发表于2016-08-22 11:31 被阅读41次

干货!很久没有来写文章了,这次总结了一下工作中常用的 git 命令和使用方法,适合初学者学习!


  1. 初始化项目 - git init
  2. 查看状态 - git status
  3. track 新增文件 - git add
  • 文件状态变化:Untracked —> Staged
  • 一次性添加所有未添加文件 - git add .
  • 允许使用 wildcard, e.g. git add js/*.js
  1. Commit 变动的文件(added, modified, deleted) - git commit
  • 除了新添加的文件,其它的(modified, deleted)都可以直接 commit - git commit -a
  • 上面的 commit 动作都会打开一个临时文件 COMMIT_EDITMSG,使用 vim 来编辑 commit 信息
  • 当 commit 信息很少时,可以直接添加单行信息 - git commit -m "Your commit message here"
  1. 查看 log 记录 - git log
  • 更详细的 log 信息 - git log --summary
  1. 将本地仓库添加到远端仓库 - git remote add origin [remote git address here]
  • 其中,origin 为自己给远端起的名字,可以为任意名字,但通常命名为 origin
  • 最后一个 argument 是远端仓库地址
  1. 将本地仓库内容推送到远端仓库 - git push -u origin master
  • 其中,origin 为远端仓库名称,origin 后面的名称是要推送上去的分支名称,此处 master 为主支
  • -u 表示记住这次 push 的 parameters,下次如果要做同样的操作,直接 git push 即可 (所以不加 -u 也是没问题的)
  1. 拉取远端仓库内容(来更新本地内容)- git pull origin master
  • 注意,此时如果有尚未 commit 的本地内容并且会引起 merge conflit,需要先 commit 然后 pull。如果还不想 commit,那么可以先隐藏起来,pull,然后恢复 - git stash(hide) —> git stash apply(show)
  1. 查看现在本地仓库的内容与最近一次 commit 的区别 - git diff
  • 默认情况下 HEAD 指向最近一次 commit,如果 HEAD 指向以前的 commit,则可以用 git diff HEAD
  • 可以使用 git diff --staged 来查看 just staged 的 file
  1. Unstaging file(s) - git reset [fileName]
  2. 重置文件 - git checkout -- [fileName]
  • 这个操作把文件重置到最近一次 commit 的状态,而 reset 只是把文件从 staged 变回了 unstaged,并没有重置
  1. 新建分支 - git branch [branchName]
  • 切换到某个分支 - git checkout [branchName]
  • 新建一个分支并切换到这个分支下(等于同时做了上面两个操作) - git checkout -b [branchName]
  1. 合并分支 - git merge [branchName]
  • 将某分支与当前分支合并,通常是一个新 feature 写好了,然后添加到主分支里
  • 当一个文件被同时修改时,merge conflit 可能会发生
  • 合并后可以将废弃的分支删除 - git branch -d [branchName] 。尚未被 merge 的分支不可以被这样删除,如果一定要删除(比如做了一半的 feature 不想要了),则用git branch -d -f [branchName] or git branch -D [branchName] (强制删除)
  1. 添加子模块
  • 我们经常会遇到一种情况,就是在一个项目目录下,会用到另外一个项目的东西
  • 命令 git submodule add [repository address] 会添加并克隆子项目到当前目录下
  • 更多内容,请看官方文档

git-flow

在 git 的基础上封装并拓展,实现了 Vincent Driessen 的 git branching model


总结

以上为 git 的基础用法,实际生产环境中可能还需根据项目的不同有所变动,git-flow 是一个很不错的开发流程,并且简化了许多操作,有兴趣的同学可以去查询参考一下。

蟹蟹!

相关文章

  • git入门及拓展

    干货!很久没有来写文章了,这次总结了一下工作中常用的 git 命令和使用方法,适合初学者学习! 初始化项目 - g...

  • GitHub使用

    入门配置config 如果使用Git,必须给Git配置用户名及邮箱 给当前的Git配置用户名和邮箱 给当前的Git...

  • Git入门指令

    Git入门指令 一、下载及查阅资料 Git下载 Git和码云使用参考资料 二、秘钥生成 1、****打开终端(gi...

  • 工具集#01 Git 代码版本控制

    目录:Git 入门Git 进阶Git 高阶总结 1. Git 入门 Git global setup Create...

  • 工具集#01 Git 代码版本控制

    目录:Git 入门Git 进阶Git 高阶总结 1. Git 入门 Git global setup Create...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • Git基础及入门

    这是一篇总结,是在工作中遇到问题后,得出的方法论,希望可以帮到你。 基础知识 工作区(Working Direct...

  • git使用入门及sourceTree入门

    1.项目中要使用git代替SVN了,这几天恶补了下 参考文章:http://www.liaoxuefeng.com...

  • Why Git? Learn It!

    一次 git 入门使用分享的大纲整理,适合新手入门。 总览 为什么要用 Git? Git + SourceTree...

  • Git配置及入门仓库

    配置git公钥 配置用户名和邮箱: $ git config --globaluser.name"用户名" ...

网友评论

      本文标题:git入门及拓展

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