神刀安全网

Git学习总结

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查看版本:

    $ git --version git version 2.8.1.windows.1
  • 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。

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » Git学习总结

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址