学习使用 GIT

2019-07-20  本文已影响0人  BunnRecord

之前试着在 GitHub 上搭一个自己的博客,并试着写上一些内容。搭是基本搭好了,但是不知道怎么把内容发布上去,所以还是老老实实来跟着廖雪峰的 GIT 教程来学习 GIT 怎么用,又看了下 stormzhang 的从 0 开始学习 GitHub 系列。这篇就来做一下记录吧。

什么是 GIT

GIT 是分布式版本控制系统,就我自己理解的话,这就是一个工具,让使用者能记录每次文件的改动,还能方便多人同时协作。分布式是相对于一些其他的集中式的版本控制系统而言,现在不太深究。

就用程序员举个例子:

1.对代码进行修改,有时候修改之后出现了错误,就能通过 GIT 将代码回退到之前的版本,对于不同时候做出的修改,通过 GIT 也能查看每次修改了什么内容。

2.对于一个大的产品,需要很多人一起共同协作,每个人作出的修改,GIT 能很方便地查看到,也能常常与和他人保持同步,将别人最新的修改抓取到自己本地的文件中。

3.有时要开发一个新功能,也能通过 GIT 创建一个分支,在保持主程序不受影响的情况下,在新分支上开发新功能,开发完成测试通过后,再把新功能加入主程序。

GIT 的安装及其他使用

GIT 的主要功能

根据廖雪峰的 GIT 教程,主要功能可以分五个点:时光机穿梭远程仓库分支管理标签管理自定义GIT,下面分点做一些笔记。

GIT 的一些命令

git init 初始化一个 Git 仓库
git add <file> 将文件添加到仓库(添加到暂存区 Stage)
git commit -m <message> 将文件提交到仓库(message是提交时附加的说明)

git status 查看仓库的状态
git diff 查看修改的内容(工作区和仓库中的不同)
git log 查看提交日志
git log --pretty=oneline 查看精简过的提交日志
git reset --hard HEAD^ 回退到上一个提交的版本
git reset --hard HEAD~n 回退到上 n 个提交的版本
git reset --hard xxxxx 回退到某个特定版本(xxxxx是日志中提交时的版本号)
git reflog 查看提交日志历史(类似git log
git checkout -- <file> 用版本库里的版本替换工作区的版本
git reset HEAD <file> 撤销暂存区的修改
git rm <file> 删除版本库中的文件

git remote add origin git@server-name:path/repo-name.git 关联一个远程库
git push -u origin master 第一次将master分支所有内容推到远程仓库的origin
git push origin master 推送最新修改
git clone <address> 克隆出一个本地库(address是远程仓库地址)

git branch 查看分支
git branch <name> 创建分支
git checkout <name> 切换分支
git checkout -b <name> 创建+切换分支
git merge <name> 合并某分支到当前分支(通过Fast-forward模式合并)
git branch -d <name> 删除分支
git branch -D <name> 强行删除没有合并过的分支
git log --graph 查看分支合并图
git merge --no-ff -m <"message"> <name> 通过禁用Fast-forward模式合并(可以保留分支信息,产生一次新的commit,message就是commit时的说明)
git stash 保存未提交的文件
git stash list 保存未提交文件版本的列表
git stash pop 恢复并删除stash内容
git stash apply <xxxxx> 恢复stash内容(xxxxx是指定stash编码)
git stash drop 删除stash内容

git remote 查看远程库的信息
git remote -v 查看远程库更详细的信息
git push origin <branch-name> 推送分支到远程仓库
git pull 抓取远程仓库的新提交
git checkout -b <branch-name> origin/<branch-name> 在本地创建和远程分支对应的分支
git branch --set-upstream <branch-name> origin/<branch-name> 建立本地分支与远程分支的关联
git rebase 将本地未 push 的分叉提交历史整理成直线

git tag <tagname> <commit id> 为某次提交新建一个标签
git tag -a <tagname> -m <"message"> <commit id> 指定标签信息
git tag 查看所有标签
git show <tagname> 查看标签信息
git push origin <tagname> 推送一个本地标签
git push origin --tags 推送全部未推送过的本地标签
git tag -d <tagname> 删除一个本地标签
git push origin :refs/tags/<tagname> 删除一个远程标签

加粗 是可能会经常用,斜体 是不大理解。)

再看stormzhang张哥的从 0 开始学习 GitHub 系列又见到几个新命令
git push origin develop 将 develop 分支推送到远程仓库
git push origin develop:develop2 推送到远程的分支取名为 develop2
git branch -r 查看远程分支
git push origin :develop 删除远程分支
git checkout develop origin/develop 将远程的 develop 分支迁移到本地(远程有 develop 而本地没有)
git checkout -b develop origin/develop 同上 + 切换到该分支


最后,简单试用了下这些命令:GIT实战

上一篇 下一篇

猜你喜欢

热点阅读