热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gitdiff比较文件_Git的诞生以及常用命令

本文首发于个人微信公众号《andyqian》,期待你的关注!Git的诞生在企业开发中,源代码使用版本控制工具已经是常态了。如果你还没用过版本控制工具&#
df3c1e719c2b576d457f6db10cb7c114.png

本文首发于个人微信公众号《andyqian》,期待你的关注!

Git的诞生

在企业开发中,源代码使用版本控制工具已经是常态了。如果你还没用过版本控制工具,那就很不应该了。要说版本控制工具,现在比较流行的是SVN和Git。今天这里要介绍的是Git,Git 的诞生也是非常有趣的,Linux系统大家都知道吧,其创始人Linus在开发它时,因为Linux系统是开源的,一开始参与的人少,都是Linus自己通过diff的方式手动合并代码的。即使原始低效,Linus也不愿意引用中心化的版本控制工具SVN或CVS。直到社区影响力越来越大,代码提交量也日渐增长,社区的小伙伴强烈发声引入版本控制工具,不向SVN和CVS等工具低头的Linus。最终引用了一款商用的版本控制工具:BitKeeper。BitKeeper的东家BitMover公司也出于人道主义精神,授权Linux免费使用。但好景不长,Linux社区的兄弟们不安于现状,想破解其玩玩。不料被BitMover公司发现,一怒之下就收回了BitKeeper对Linux的免费使用权。不收回不要紧,一收回不得了。Linus怎么能忍呢?一气之下花个几天时间自己开发一个版本控制工具,也就是我们现在使用的Git。(牛人就是牛!)

Git 常用命令

下面介绍一些Git常用的版本控制命令,在日常工作中也是经常用到的。Git命令非常多,我们不一定全部记得的住,但这个帮助命令 git help 是一定要记住的。

初始化配置

  1. 设置用户名,邮箱 (会体现在邮件记录中)
    $ git config --global user.name "user_name"
    $ git config --global user.email "user_email"
  2. set proxy (可选)
    git config --global http.proxy
    git config --global --unset http.proxy (unset proxy)
    git config --global http.proxy 192.168.1.1:8083 (set proxy)
  3. 初始化仓库
    git init
  4. 查看文件状态
    git status

提交

  1. 添加文件至暂存区 ( . 表示当前目录所有文件 也支持单个文件)
    git add .
  2. 将指定文件从暂存区撤销
    git reset HEAD file
  3. 将指定文件丢弃工作区的改动
    git checkout -- file
  4. 将在暂存区的文件提交到本地仓库
    git commit -m "comment"
  5. 拉取远程文件
    git pull origin
  6. 将本地提交push远程
    git push origin

帮助

  1. 查看常用命令
    git help
  2. 查看某个命令的使用帮助
    git help add
  3. 查看git 使用指南(这个命令中会详细展示Git的使用周期)
    git help tutorial

分支管理

1、查看所有远程分支

git branch -r

  1. 查看所有分支
    git branch -a
  2. 切换分支
    git checkout local_branch_name
  3. 从远程分支上创建本地分支并切换至该分支
    git checkout -b local_branch_name origin/remote_balance_name
  4. 删除本地分支
    git branch -D local_branch_name
  5. 删除远程分支
    git push origin --delete remote_branch_name
  6. 重命名本地分支名称
    git branch -m old_branch_name new_branch_name

查看提交

  1. 查看日志
    git log
  2. 查看日志(显示格式化)
    git log --pretty=oneline

合并代码

  1. 合并指定分支代码
    git merge --no--ff branch_name

Git命令还有很多,其中命令相同参数不同也会有不同的表现。我们可以通过帮助来查看其详细用法。


相关阅读:

《浅谈 Java JPDA》

《Git 版本管理之团队实践》

《说说MySQL权限》

《Git 常用命令以及常见错误》



推荐阅读
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • Git核心命令全解析:掌握日常开发必备技能
    本文深入解析了 Git 的核心命令,帮助开发者掌握日常开发中的必备技能。从 `git init` 命令开始,介绍了如何将当前目录转变为 Git 可管理的仓库。接着详细讲解了 `git add` 命令的使用方法,包括如何将文件(如 `readme.txt`)添加到暂存区,以便在后续提交时进行版本控制。此外,还探讨了其他关键命令,如 `git commit` 和 `git push`,以确保代码变更能够安全地保存和同步到远程仓库。通过这些命令的综合应用,开发者可以更加高效地管理和协作项目。 ... [详细]
  • 使用 `git stash` 可以将当前未提交的修改保存到一个临时存储区,以便在后续恢复工作目录时使用。例如,在处理中间状态时,可以通过 `git stash` 命令将当前的所有未提交更改推送到一个新的储藏中,从而保持工作目录的整洁。此外,本文还将详细介绍如何解决 `git stash pop` 时可能出现的冲突问题,帮助用户高效地管理代码变更。 ... [详细]
  • 在IntelliJ IDEA中初始化Git并将项目推送到远程仓库的具体步骤包括:首先,登录Gitee(码云)账号并创建新的仓库;接着,在IDEA中通过VCS菜单选择Git进行本地项目的初始化;最后,配置远程仓库地址并执行推送操作,确保项目代码安全上传至云端。 ... [详细]
  • 什么是git-lfsGithub对文件大小的限制如果你在命令行用gitpush50MB的文件,你会收到一个warning,但是你仍然可以正常push,但是100MB的时候就无法 ... [详细]
  • 如何在Windows上使用Gitee创建远程仓库
    本文详细记录了在Windows系统上使用Gitee创建远程仓库的步骤,帮助解决无法注册GitHub的问题。 ... [详细]
  • 如何配置VisualSVN以确保提交时必须填写日志信息
    在软件开发团队中,成员们有时会忘记在提交代码时添加必要的备注信息。为了规范这一流程,可以通过配置VisualSVN来强制要求团队成员在提交文件时填写日志信息。本文将详细介绍如何设置这一功能。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 最近,我在CentOS 5服务器上成功部署了GForge 5.7 Community Edition。与Advanced Server版本相比,虽然功能略有简化,但仍然能够满足大多数开源项目管理的需求。为了确保数据安全,我开发了一套全自动备份脚本,该脚本能够定期备份GForge的数据和配置文件,并将其存储在远程服务器上,以防止数据丢失。此外,该脚本还具备错误检测和日志记录功能,便于故障排查和维护。 ... [详细]
  • 在Mac操作系统中,.svn文件夹作为隐藏文件,逐个手动删除相当繁琐。为了提高效率,可以通过简单的Linux命令实现批量删除。具体操作为:打开终端,切换至目标项目目录(此步骤至关重要),然后执行相应命令以彻底清除所有.svn文件夹。此外,建议在执行前备份重要数据,以防误删。 ... [详细]
  • Windows环境下详细教程:如何搭建Git服务
    Windows环境下详细教程:如何搭建Git服务 ... [详细]
  • 如何在微信公众平台集成新浪云服务应用摘要:新浪云服务平台SinaAppEngine(简称SAE)自2009年启动内部研发,并于同年对外开放。本文详细介绍了如何利用SAE的强大功能,在微信公众平台上构建高效、稳定的云服务应用程序,涵盖从环境配置到应用部署的全流程,为开发者提供详尽的技术指导与实践案例。 ... [详细]
  • Mantis Bug Tracker:高效缺陷管理与跟踪系统
    缺陷管理平台Mantis,也做MantisBT,全称MantisBugTracker。Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺 ... [详细]
  • 六百字读懂
    译注:来自HackerSchool的MaryRoseCook实现了一个纯JavaScript(Node.js)写就的Git:Gitlet,包含了最主要的一些命令。这个项目一是为了了 ... [详细]
  • gitcommit-m提交所有本地文件 ... [详细]
author-avatar
jiangzh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有