`
superxielei
  • 浏览: 267126 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Git 系列之四:Git 进阶功能

    博客分类:
  • git
git 
阅读更多

 

【TIP】在我们的《Windows 下 Git 配置与使用指南》 中,有介绍大家使用 $ git go 命令。其实,这并非 Git 的原生命令,它是我们自定义的一个 alias(别名),由 $git add、$git commit、$git push 和 $git pull 四个命令组合而成。待熟悉之后,你可以直接使用这些原生命令,或者自定义更适合自己的 alias。

add

添加新文件到 Git 代码仓库的索引中

$ git add filename

mv

移动或重命名文件

$ git mv old-filename new-filename

rm

从工作目录和 Git 代码索引中删除文件

$ git rm filename

status

查看目前工作目录的代码状态,自上次提交以来的添加、修改和删除等

$ git status

diff

查看自上次提交以来,本地代码改动的具体情况

$ git diff

commit

提交修改的代码(只是提交到本地的代码库,不会推送到服务器)

$ git commit -am '修改说明'

如果觉得刚提交的“修改说明”写得不够好,可输入以下命令调整

$ git commit --amend

push

将自上次 push 以来的,本地历次 commit,推送到服务器

结合我们的实际,应该这样写:

$ git push origin master:your-id

其中,master 是本地的分支名;your-id 填你在服务器上的 id,服务器的版本库里会有以你的 id 为名称的分支。

pull

将别人推送到服务器的代码,拉到你的机器里

$ git pull

log

查看修改记录,含作者、时间、修改说明等

$ git log

show

显示具体的代码改动情况

显示最后一次 commit 修改的内容:

$ git show

显示指定 commit 修改的内容:

【TIP】git log 命令中,每条 commit 会有一长长的字符串,此即 commid id,取其前面五六位即可。

$ git show commit-id

branch

分支管理

列出所有分支(当前所在分支前会有“*”号):

$ git branch

新建分支:

$ git branch 新分支名

删除分支:

$ git branch -d 欲删除的分支名

【注意!】不要把 ‘-d’ 写成了 ‘-D’,危险!

  • -d:要求:被删除分支的所有修改,已经合并到当前分支;
  • -D:直接删除,未合并的代码,将被丢弃!

checkout

恢复某个已修改的文件(撤销未提交的修改):

$ git checkout file-name

切换到另外的分支,进行开发:

$ git checkout branch-name

【注意!】该命令可能伴随大量的文件增删/修改。Windows 下,改动已被占用的文件可能会被拒绝,导致版本库出现严重问题。如果确实要这样做,安全起见,最好先注销一次。

merge

合并指定分支到当前分支:

$ git merge branch-name

revert

还原已提交的修改(已经提交过的修改,可以反悔~)

还原最近一次提交的修改:

$ git revert HEAD

还原指定版本的修改:

$ git revert commit-id

stash

先将未提交的修改暂存起来,接着清除所有改动,使之与没修改时一样。

若你正在开发功能 A,又需立即去开发功能 B。A 的代码正改到一半,未认真整理,你不想立即提交。此时……请呼叫 stash ~。

它会使你所有未提交的修改瞬间不见了:

$ git stash

它会使刚刚不见了的修改,瞬间又回来了:

$ git stash pop

【TIP】以上命令皆有更多参数,另有一些 Git 命令我们此处没有介绍。但是,这已足令你使用 Git 时游刃有余,你会觉得,Git 简直是一件神器!:-)

【TIP】’$ git help’ 与 ‘$ git help 命令名’ 会在你需要的时候,无私地帮助你。:-)

附:git push 失败的解决办法

假设执行操作:

1. 修改代码
2. git commit
3. git push

此时 push 失败(错误提示:! [rejected] master -> master (non-fast-forward) )

解决办法:

$ git pull

若成功,则:

$ git push origin master:your-id

完事。

若失败(提示:CONFLICT (content): Merge conflict in 文件名),则:

冲突的文件会有类似下面的代码块:

<<<<HEAD
你修改的代码
============
其他人修改的代码
>>>>>commit id of others'

考虑你和他人对代码的修改,更新成合适的内容,并删除 <<<、===、>>> 3行标记符号,保存文件。

$ git commit -am "resolve conflict"
$ git push origin master:your-id

更详细的说明,可以阅读 $git push –help 该文档的 NOTE ABOUT FAST-FORWARDS 一节。

分享到:
评论

相关推荐

    Git官方最新版下载 Git-2.18.0-64-bit 64位Windows版本

    5. Git进阶使用: - `git stash`:暂存未提交的改动,方便临时切换任务。 - `git merge`:合并分支,处理代码冲突。 - `git rebase`:交互式地重排或合并提交,保持提交历史的整洁。 - `git cherry-pick`:从一...

    git尚硅谷笔记.pdf

    #### 六、Git进阶技巧 - **多人协作**:在团队中使用Git时,可以通过分支隔离不同的功能开发,定期合并到主分支。 - **跨团队协作**:对于不在同一团队中的开发者,可以通过共享远程仓库实现协作。 #### 七、案例...

    git-manual:git命令参考手册:butterfly:

    1. **版本控制**:Git的核心功能是跟踪文件和目录的变化,通过创建一系列快照来记录项目的历史状态。每个快照都是一个称为“提交”的版本,这些提交链接起来形成了一条历史时间线。 2. **工作区与仓库**:工作区是...

    有关git的相关详细文档

    #### 五、Git进阶技巧 - **Git Rebase**:相比于`merge`,`rebase`能够使提交历史更加整洁,但使用时需谨慎,以免丢失提交或导致不必要的麻烦。 - **Git Stash**:用于临时保存当前的工作状态,方便进行其他任务,待...

    Git常见使用命令参考

    下面是Git常见使用命令参考,涵盖了Git的基本使用方法和进阶使用技巧。 Git初始设置 在使用Git之前,需要进行初始设置,包括设置用户名和电子邮件地址。使用以下命令可以设置用户名和电子邮件地址: git config -...

    全面解析:Git与GitHub基础知识及进阶指南

    内容概要:本文从基础到高级层次详尽介绍了Git和GitHub的核心概念、版本控制的重要性及其基本操作,包括如何利用分支管理与团队成员协作开发、常见问题及解决方案,同时也讨论了技术瓶颈和发展趋势。全文辅以生动的...

    git中文教程 progit_v2.1.31.pdf

    #### 五、Git进阶技巧 **Git工具** - **选择修订版本**:查找并指定特定的版本。 - **交互式暂存**:选择性地添加文件的部分内容到暂存区。 - **储藏与清理**:临时保存未完成的工作。 - **签署工作**:使用GPG签名...

    git基础(git服务器搭建+git教程+git廖雪峰)

    Git由Linux创始人林纳斯·托瓦兹创建,旨在解决Linux内核开发中的版本控制问题,但后来因其强大而灵活的功能,被广泛应用于各种软件开发项目。 ### Git基础概念 1. **仓库(Repository)**:存储项目所有版本信息的...

    git安装包及git安装教程pdf

    Git是一款分布式版本控制系统,由Linus Torvalds在2005年开发,用于Linux内核项目的源代码管理。Git的出现解决了版本控制系统的许多问题,例如效率、数据完整性以及分支管理等。在这个“git安装包及git安装教程pdf”...

    编程实践:Java Web整合开发进阶100例[清晰完整版]

    《编程实践:Java Web整合开发进阶100例》是一本专为Java Web开发者设计的实战指南,旨在通过丰富的实例来提升读者在这一领域的技能。这本书以清晰、非扫描的高质量版本呈现,确保读者在学习过程中可以获得最佳的...

    java二叉树算法源码-Java::pencil:计算机基础:hot_beverage:Java:woman_and_man_holding_hands:面向对象:memo:编程题:floppy_disk:数据库:hammer:消息中间件:open_book:系统设计:laptop:工具:wrench:进阶指南:speak-no-evil_monkey:参考资料

    java二叉树算法源码 项目对应 WebSIte: :pencil: 计算机基础 1. 计算机网络 2. 操作系统 3. 数据结构和算法 4. HTTP 5. Linux :hot_beverage: Java ...Git ...进阶指南 :speak-no-evil_monkey: 参考资料

    Git实战操作(Idea)

    通过本文档的学习,你可以了解到如何在IDEA环境中有效地使用Git进行版本控制,包括基础命令的操作、版本回退、分支管理以及解决冲突等高级功能。熟练掌握这些技巧能够大大提高开发效率和团队协作能力。

    Git 2.22.0 64bit for Windows 免安装版

    解压缩后的文件夹包含了一系列Git的可执行文件和库,其中"bin"文件夹尤为重要,因为它包含了Git的命令行工具。 为了让系统能够识别并运行这些命令,我们需要将"bin"文件夹的路径添加到系统的环境变量PATH中。环境...

    最好的git中文教程

    ### 最好的Git中文教程——《看日记学Git》系列概览与知识点提炼 #### 标题解析 - **标题**:“最好的git中文教程” - 该标题表明本教程为中文编写,旨在成为学习Git的最佳资源之一。 #### 描述解析 - **描述**:...

    25个Git进阶技巧

    对常用的git命令做了简单而系统的说明。

    Git教程 包含:快速入门、基础使用、进阶使用、服务器集成、一些常见的问题

    1. 版本控制:这是Git的核心功能,它记录文件和目录的修改历史,允许用户回溯到任何先前的版本,避免因为错误修改导致的问题。 2. 分布式:Git采用分布式模式,每个开发者的工作副本都是完整的版本库,可以独立工作...

    6.6: 版本控制 、 Git基础 、 Git进阶 、 RPM打包 、 总结和答疑.docx

    在Linux环境中,Git提供了高效、安全的版本管理功能。本文档主要介绍了Git的基础操作、HEAD指针操作、分支操作以及RPM包的制作。 首先,Git的基本操作包括安装、创建版本库、客户端克隆、本地修改以及提交。在Linux...

    25个 Git 进阶技巧.pdf

    25个 Git 进阶技巧 Git 是一个强大的版本控制系统,提供了很多实用的命令和技巧。本文将介绍 25 个 Git 进阶技巧,帮助开发者更好地掌握 Git。 1. 添加远端服务器 使用 `git remote add` 命令可以添加一个新的远...

Global site tag (gtag.js) - Google Analytics