Git工具的使用

1、Git是什么?

    Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

    到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自       己的版本系统git。 他们对新的系统制订了若干目标:

  • 速度

  • 简单的设计

  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)

  • 完全分布式

  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

    简单来说git就是版本控制工具,相似功能的工具还有SVN。git和svn的区别是,前者是分布式版本管理工具,后者是集中式版本。GIT把内容按元数据方式存储,而SVN是按文件

    git和SVN的区别   更多差异性请看这里

    Git - Book (git-scm.com) 官网地址

2、GIt安装

2.1在 Linux 上安装

 (1)输入下面的指令进行验证,如果出现Git的帮助信息,则说明已经安装了Git,可以跳过安装Git的步骤

    git --help

 

(2)如果确认没有安装Git,则输入下面的指令安装Git

 sudo apt-get update

 sudo apt-get install git

要了解更多选择,Git 官方网站上有在各种 Unix 发行版的系统上安装步骤,网址为 https://git-scm.com/download/linux

2.2在 macOS 上安装

在 Mac 上安装 Git 有多种方式。 最简单的方法是安装 Xcode Command Line Tools。 Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。

$ git --version

如果没有安装过命令行开发者工具,将会提示你安装。

如果你想安装更新的版本,可以使用二进制安装程序。 官方维护的 macOS Git 安装程序可以在 Git 官方网站下载,网址为 https://git-scm.com/download/mac

 2.3 初次运行git前的配置

      这块每个公司的远程服务器不一样,配置也就不一样,具体配置找SCM询问配置。

  1. /etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果在执行 git config 时带上 --system 选项,那么它就会读写该文件中的配置变量。 (由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。)

  2. ~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 你可以传递 --global 选项让 Git 读写此文件,这会对你系统上 所有 的仓库生效。

  3. 当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。 你可以传递 --local 选项让 Git 强制读写此文件,虽然默认情况下用的就是它。。 (当然,你需要进入某个 Git 仓库中才能让该选项生效。)

 

3、常规操作

     workspace:本地代码修改区

     index:暂存区

     local repository:本地版本库

     remote repository:远程版本库

     

      提交代码之前,去看下你修改每个仓下的文件,确认是否修改正确

git status        ,查看有多少修改

git diff [files]   ,查看修改文件

      1、提交修改文件从工作区到暂存区

          git add  1.cpp 2.cpp 3.cpp

      2、将暂存区提交到本地版本库

         git commit

      3、将修改提交到远程版本库

         git push  XXX

       因为不同仓库的下提交,涉及到不同的库。具体怎么看?需要你看开发的manifest。比如你修改frameworks/av仓下的代码。

       git push ssh://你的git账号@gerrit.服务器地址.cn:29418/platform/frameworks/av HEAD:refs/for/分支名字 --no-thin

4、你可能需要了解的知识点

    常见命令如下

  另外了解细节看这几篇博客准没错  

 一个小时学会Git - 张果 - 博客园 (cnblogs.com)

  https://www.liaoxuefeng.com/wiki/896043488029600

 

5、撤销修改&版本回退

代码写错了,需要回退

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令

git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,

 git reset HEAD <file>  ,回到了场景1,然后

 git checkout – file

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,不过前提是没有推送到远程库。HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令

git reset --hard commit_id。  (前一个的提交的)

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

场景4:删除远程仓库的错误提交

1、强制返回上次的版本(~1回退到上一次提交,~2回退到上两次提交,以此类推)

git reset --hard HEAD~1      

2、将本次变更强行推送至服务器;这样在服务器上就能回退到你想回退的位置。

git push –force

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值