Git学习总结

git
Git是什么? Git是目前世界上最先进的分布式版本控制系统(没有之一)。
作为一个开发者,git这样的技能基本上是必备技能了。以前的时候接触了git,但没有系统的学习,只是简单的了解几个基本命令。最近几天系统的学习了这样技能。由于git教程网上很多,我就不重复造轮子了,有的轮子要造,但有的轮子造起来没有多大意义,所以只是总结一下学习的心得和git常用的命令。

git是什么?

  • Git是目前世界上最先进的分布式版本控制系统,是由Linux 发明者 Linus 开发的一款新时代的版本控制系统。
  • 那什么是版本控制系统呢?
    • 网络定义:版本控制(Revision control)是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一代码文件案都得到同步。是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
  • 简单来讲,版本控制系统就是在开发过程中对我们的代码进行管理的系统。比如:为了防止代码的丢失,我们会把本地和服务器都放置一份或者多份,这时候版本控制系统就可以使本地和远程同步; 在多人协作完成一个项目时,我们需要对一份代码进行更改和管理,这时候不影响别人工作就可以同步别人的代码;代码出现bug,对代码进行紧急的管理或者还原等等。

git的安装

git是一个版本控制系统,所以我们必须下载安装才能使用。mac系统是自带Git的,为了照顾特殊情况,这里也介绍一下。

  • Linux
    首先,你可以输入git,查看一下系统有没有安装Git:
$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

很多Linux会友好地告诉你Git没有安装,并且会告诉你如何安装Git。
通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。

$ sudo apt-get install git
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra package will
be installed:
 git-man liberror-perl
Suggested package: 
...
...
Setting up liberror-perl (0.17-1) ...
Setting up git-man (1:1.7.9.5-1) ...
Setting up git (1:1.7.9.5-1) ...

看到类似上面的命令则说明安装成功。
通过命令git --version查看版本

  • Mac OS X
    两种安装方式。
    • 安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/
    • 从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。
  • Windows
    Windows系统是默认没有安装git,也没有内置git安装包的。需要手动下载安装。访问下载git安装包:https://git-for-windows.github.io/。下载完成后默认安装即可(可以修改一下安装路径)。
    安装完成,在开始菜单里找到“Git”->“Git Bash”,出现一个类似命令行窗口的软件,就说明Git安装成功。

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

Git命令总结

  • 常用操作
git init:初始化一个仓库。
git add <file>:把文件添加到仓库。(注意:是添加到仓库,需要执行提交操作才能把文件放到仓库。本操作实际上就是把文件修改添加到暂存区)
git commit : 把文件提交到仓库。
git status:查看工作区的状态。
git diff:查看修改的内容
git log:查看日志
git log --pretty=oneline:查看排版的日志
git reset --hard commit_id:回退到以前的版本。Git中用HEAD表示当前版本,上一版本为HEAD^,上上版本为HEAD^^,假如为往上100版本,则可表示为:HEAD~100。
git reflog:查看命令历史。可用来确定要回到未来的哪个版本。
git reset HAED file:把暂存区的修改撤销掉,重新放回工作区。
git checkout -- file:丢弃工作区的修改。git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
git rm file:删除一个文件。
  • 远程操作
git remote add origin git@github.com:GitHubName/repo-name.git:关联一个GitHub远程库。通用结构:git remote add origin git@server-name:path/repo-name.git。
git push -u origin master:第一次向远程库推送master分支的所有内容。
git push origin master:向远程库推送最新修改。
git pull:抓取远程的新提交,保持本地和远程同步。
git pull origin master:把master分支的最新状态抓取到本地。
git remote -v:查看远程库信息。
git clone git@github.com:GitHubName/repo-name.git:将github项目clone到本地,被clone的项目将作为远程库。
git checkout -b branch-name origin/branch-name:在本地创建和远程分支对应的分支,名称最好一致。
git branch --set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联。
git push origin <tagname>:推送某个标签到远程。
git push origin --tags:一次性推送全部尚未推送到远程的本地标签。
git push origin:refs/tags/<tagname>:删除远程标签。(先删除本地的标签)
  • 分支操作
git branch:查看所有分支
git branch <name>:创建分支
git checkout <neme>:切换分支
git checkout -b <name>:创建+切换分支
git merge <name>:合并某个分支都当前分支
git branch -d <name>:删除分支
git merge --no-ff -m "描述" <name>:记录分支情况的合并分支方法。
  • stash操作
git stash:储藏当前工作状态
git stash list:查看储藏的工作列表。
git stash apply:恢复工作状态,但恢复后stash的内容并不删除。
git stash drop:删除最近一次stash的内容
git stash clear:清空所有的stash内容。
git stash pop:恢复工作状态并删除相关stash内容。
  • 标签操作
git tag <name>:新建一个标签。
git tag -a <tagname> -m "描述":新建标签并指定标签信息。
git tag -s <tagname> -m "描述":PGP签名标签。4
git tag:查看所有标签。
git tag -d <tagname>:删除一个本地标签。
git push origin <tagname>:推送某个标签到远程。
git push origin --tags:一次性推送全部尚未推送到远程的本地标签。
git push origin :refs/tags/<tagname>:删除远程标签。(先删除本地的标签)

这只是Git常用的命令。Git极其强大,命令繁多,我只是总结了一些较为常用的命令。

GitHub

  • 我们学习了 Git 之后,怎么才能充分使用这项技能呢?
    答案是 GitHub。GitHub 是世界上最大的开源社区。我相信程序员没有不知道 GitHub 的了。学习 GitHub 同样是程序员的必备技能。当然,Git 并不只是在 GitHub 上使用。我们在工作以后团队之间的合作、代码的管理基本上都是使用 Git。

  • 那么,Git 与 GitHub 之间有什么联系呢?

    • Git 是一款免费、开源的分布式版本控制系统。不管是学习 GitHub,还是以后想从事编程行业,Git都可以算是必备技能了。
    • GitHub 主要提供基于Git的版本托管服务。也就是说现在 GitHub 上托管的所有项目代码都是基于 Git 来进行版本控制的,所以 Git 只是 GitHub 上用来管理项目的一个工具而已,GitHub 的功能远不止于此。所以建议去学习一下 GitHub。

总结

经过两天的系统学习,对Git有了初步的了解。Git的功能非常强大,在本文中只是罗列出了一些常用命令。Git绝不是两天就可以掌握的,但是可以学会Git的基本使用。常用的Git命令本文基本涵盖,并且工作中常用的命令就那么十几条,掌握好这十几条命令,就基本可以得心应手的使用Git。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值