Advertisement

你应该知道的Git基础

阅读量:

你应该知道的Git基础

  • 设置自己的用户名和邮箱
复制代码
 git config –global user.name "Your Name"

    
 git config –global user.email "you@example.com"
    
    
    
    
    代码解读
  • 在提交之前有一个缓存区用于存储修改。

  • 将当前所有修改存储到缓存区中 git add . 也可以单独指定。

  • 使用 git diff --cached 比较本地仓库和缓存区中的差异。

  • 使用 git diff HEAD 比较本地未缓存的修改和当前状态。

  • 使用 git diff 查看所有未缓存的修改与本地仓库的区别。

  • 使用 git diff --stat 显示详细摘要信息。

  • 请清除该存储区域的一个修改记录(如特定文件hello.rb git reset HEAD -- hello.rb)

  • 使用命令git rm file会将指定文件从其所在的文件缓存区域以及本地目录树结构中删除

  • 命令git rm file --cached仅在缓存区域内删除该文件引用,并保留其在本地目录树结构中的存在

分支操作

使用git branch命令可查看系统中现有的所有分叉项。
通过执行git branch jser.me命令可以在系统中创建一个新的名为jser.me的新分叉。
运行git checkout -b jser.me命令后会检查该特定名称(jser.me)的分叉是否存在:如果不存在,则会生成该名称的新分叉并切换至该新生成的主干。
使用git branch -d jser.me命令可删除指定名称(jse me)对应的主分叉。
执行git merge命令可将除当前主分叉外的所有其他主分叉整合到当前主分叉中。
首先检出本地存储中的远程gh-pages主分叉,并将其设为主分叉;然后执行操作以完成设置。

Log查看

  • git log --oneline$ 简洁显示最近的日志记录。
    • git log --graph$ 进行图形化呈现。
    • git log erlang ^master$ 查询仅属于erlang分支的修改历史。
    • git log --grep$ 基于正则表达式检索特定日志内容。
    • git shortlog master$ 生成指定主分支的短日志报告。

里程碑

  • git tag -a v1.0 打上v1.0

恢复删除的文件

  • git checkout commitid -- pathfile

与人分享

  • 列出远端的别名:使用git remote list
  • 添加远程仓库:运行命令git remote add <remote_name> <remote_path>以指定名称创建远程路径
  • 移除指定远程仓库的远程别名:执行命令git remote rm <remote_name>
  • 仅获取本地代码:执行命令git fetch
  • 拉取代码以获取最新版本:执行命令git pull
  • 推送本地分支到指定远程仓库:运行命令git push <remote_name> <local_branch>将本地分支推送到目标遥远仓库<remote_name>中的<local_branch>分支

一些原则

新功能尽量分叉以保持创新性,并通过定期整合至主版本来优化流程。同时建议避免在同一版本上投入过多资源,并采用适合项目的版本控制方法。

Git的几个关键知识点

  • 有三种状态:
    • 暂存 staged
    • 修改 modify
    • 已经提交

查看当前状态信息,默认情况下只显示暂存区和工作区两个区域

冲突之后的解决

找到冲突的地方,手工解决,然后git add filename; git commit

只合并特定的分支特定文件

  • 执行命令 git cherry-pick,并提供 commit ID参数
  • 切换到指定分支并指定文件名

查看和远程分支的对比

  • 将远程分支拉取到本地 git fetch origin master:temp ,完成从远程origin仓库master分支下载并创建本地临时分支。
    • 执行差异分析操作 git diff temp
    • 整合特定文件内容至主代码库,并参考之前的步骤进行操作。
    • 移除不再需要的临时分支 git branch -d temp

git diff

  • 仅显示带有对比信息的文件 git diff 608e120 4abe32e --name-only
  • 配合做成压缩文件 git diff 608e120 4abe32e --name-only | xargs zip update.zip
  • 若不是逐个查看每个文件的具体变化详情,而是统计相关信息包括哪些文件发生过修改以及修改了多少行代码,则可以使用‘–stat’参数。
  • 这里的diff操作涉及的是特定的那些文件。

查看今天的更改

  • git log --since=1.days

子模块

  • 使用git的submodule功能初始化分支。
  • 运行命令git submodule add将本地仓库中的submodule/git-url添加到当前仓库中,并命名为local-name
  • 使用foreach循环遍历所有子模块,并依次运行git pull命令以更新这些本地仓库。

全部评论 (0)

还没有任何评论哟~