Git简单学习

Git

Learn from 廖雪峰的官网网站
  在我最初的了解中,Git是一个团队进行项目开发的必备工具,是我计划中的一小部分。通过git,可以更便捷更兼容得进行开发。蓝山android学长也说做安卓,会使用Git是基础。于是,我便在暑假里开始了我的Git之旅。
  Git是分布式版本控制系统,怎么说呢?当你和小伙伴在干同一件事情,需要将各自的部分接近完美的整合在一起时,这就用到了Git;当你需要记录你的开发过程并希望能详细记录每一次的删改增添操作时,这就用到了Git。分布式版本控制系统,通俗点就是说给你一个非常好的工具,你可以把它作为一个中转记录站来便捷你需要便捷的工作。
  由于我使用的是Windows操作系统,所以我只介绍如何在Windows上安装和使用Git。刚开始接触Git的我,大量浅见之处还望谅解。伙伴们可以从Here下载,然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

  安装完成后,还需要最后一步设置,在命令行输入:
  • $ git config --global user.name "Your Name"
  • $ git config --global user.email "email@example.com"

这个也应该是必要的,通过git config命令设置一下自己的名字和邮箱,注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

前序工作

第一步:创建一个版本库(repository),也就是在合适的地方找一个接下来的工作区域。
$ mkdir learngit
$ cd learngit
$ pwd (pwd用于显示当前的目录:/C/Users/sun liang long/learngit)
  第二步:通过git init命令把这个目录变成Git可以管理的仓库 (工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD

基础命令操作

  • git add <file>告诉Git,把文件添加到仓库(此时文件是位于stage暂存区中)。
  • git commit -m“此次操作的说明”告诉Git,把文件提交到仓库(此时就是把暂存区的所有内容提交到当前分支)。
  • git status命令:随时掌握工作区的状态,如果git status告诉你有文件被修改过,用git diff <file>可以查看修改内容(此时还没有git add)。
  • cat <file>可用来查看工作区文件的内容。
  • git log命令:显示从最近到最远的提交日志,简要信息,加上--pretty=oneline参数
  • git reset -hard HEAD^返回到上一个版本,返回到哪一个版本:git reset --hard commit_id(git log中显示的ID) 版本号没必要写全,前几位就可以了,Git会自动去找

Git允许我们在版本的历史之间穿梭:

  • 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
  • git checkout -- readme.txt命令:把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
  • 总之,就是让这个文件回到最近一次git commitgit add时的状态。(git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。)

  • git reset HEAD file命令:(git add 之后想撤回) 把暂存区的修改撤销掉(unstage),重新放回工作区

  • git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

  • 假设你不但改错了东西,还从暂存区提交到了版本库,怎么办呢?还记得版本回退一节吗?可以回退到上一个版本。不过,这是有条件的,就是你还没有把自己的本地版本库推送到远程

删除文件

  • rm <file>删完之后,Git知道你删除了文件,工作区和版本库就不一致了,就要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
### 远程仓库 #### 添加ssh key协议 - 第1步:创建SSH Key:`$ ssh-keygen -t rsa -C "youremail@example.com"` - 第2步:登陆GitHub,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴`id_rsa.pub` #### 在Githup上创建一个远程仓库,在本地的`learngit`仓库下运行命令 - `$ git remote add origin git@github.com:michaelliao/learngit.git` - 把本地库的所有内容推送到远程库上:`$ git push -u origin master` - 从现在起,只要本地作了提交,就可以通过命令:`$ git push origin master` 进行推送 #### 在远程库gitskills克隆好了之后,在本地完成克隆: - $ `git clone git@github.com:michaelliao/gitskills.git`

分支操作

廖雪峰的官网网站

遇到的问题

  1. 在使用git 对源代码进行push到gitHub时可能会出错:
  出现错误的主要原因是github中的README.md文件不在本地代码目录中,可以通过如下命令进行代码合并:`git pull --rebase origin master`,然后再`push`。(注:`pull=fetch+merge`)
  1. git add .失败
      运行git config core.autocrlf false 命令

  2. 版本控制系统是没法跟踪Word文件的改动的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值