git笔记

来源:互联网 发布:连环夺宝编程原理 编辑:程序博客网 时间:2024/06/05 16:29

我的第一篇博客,或许叫做笔记更好,这篇文章主要是讲一些git的基础用法(高深的我也写不出 #手动滑稽)。

介绍

git是一个十分强大的分布式版本控制系统,由Linux的作者linus用两周的时间制作而成(是不是屌炸了),至于作者的制作缘由感兴趣的可以自行百度或Google。

安装

Linux(本人用的是Ubuntu)下的安装十分方便,进入命令行执行安装命令即可:

sudo apt-get install git

用Windows的童鞋可以自行到 官网 下载完成安装

git init

接下来我们开始看看git的基本使用
首先我们要来新建一个文件夹,或者进入已有的文件夹执行 git init 命令:

hmh@hmh-ubuntu:~/桌面/git_test$ git init初始化空的 Git 仓库于 /home/hmh/桌面/git_test/.git/hmh@hmh-ubuntu:~/桌面/git_test$ 

git add

这样我们便把这个文件夹初始化为了我们的git仓库,但是这还不够,因为里面的文件并没有被git跟踪,我们可以通过 git add 命令将文件添加到git暂存区,比如这个文件夹下有一个叫index.txt的文件:

hmh@hmh-ubuntu:~/桌面/git_test$ git add index.txthmh@hmh-ubuntu:~/桌面/git_test$ 

这样我们便让index.txt这个文件加入到暂存区了,但是在我们实际做项目的时候往往一下会添加/修改/删除多个文件,这样我们就不能一个个来添加了,这时就要用到 git add -A 这个命令了,这个命令会把文件夹下的所有改动添加到暂存区。

git commit

git 文件实际上总共有三个状态,已修改的(就是你对某个文件做了修改还没有add到暂存区),已暂存的(通过add命令添加后的),已提交的(通过 git commit 命令提交,这样文件就真正被保存到数据库中了)。

hmh@hmh-ubuntu:~/桌面/git_test$ git commit -m "files has been committed."[master (根提交) d5ef89f] files has been committed. 1 file changed, 1 insertion(+) create mode 100644 index.txthmh@hmh-ubuntu:~/桌面/git_test$ 

上面的 -m “files has been committed.” 是对本次提交的说明。

git push

通常我们要让本地管理的git仓库连接到远程仓库,比如 github。那么我们可以使用 git push 命令将本地仓库推送到远程仓库实现更新。当然前提是我们本地的git仓库与某个远程仓库关联了。所以推送之前我们需要用 git remote add origin “https://github.com/yourname/yourprojectname.git” 来关联远程仓库。

hmh@hmh-ubuntu:~/桌面/git_test$ git remote add origin "https://github.com/HmhWz/git_remote.git"hmh@hmh-ubuntu:~/桌面/git_test$ 

然后使用 git push 来对远程仓库更新:

hmh@hmh-ubuntu:~/桌面/git_test$ git push -u origin masterUsername for 'https://github.com': HmhWzPassword for 'https://HmhWz@github.com': 对象计数中: 3, 完成.写入对象中: 100% (3/3), 215 bytes | 0 bytes/s, 完成.Total 3 (delta 0), reused 0 (delta 0)To https://github.com/HmhWz/git_remote.git * [new branch]      master -> master分支 master 设置为跟踪来自 origin 的远程分支 master。hmh@hmh-ubuntu:~/桌面/git_test$ 

-u 参数是为了指定一个默认主机,后面更新不需要了。
由于时间关系后面的命令在这里就不一一详解了,下面列出一些我认为比较常用的命令供参考:
git init //初始化仓库
git add file //添加改动的文件到暂存区
git commit -m “description” //提交改动的文件并加以描述
git diff //add 文件后提交前 可以查看文件改动情况
git status //查看当前仓库状态
git log (–pretty=oneline) //查看各个版本改动情况
git reset –hard 版本号 //回到指定版本
git reflog //查看每个历史命令
git remote add origin <仓库地址> //将本地库关联到github上
git push -u origin master //首次将master分支的内容推送到github上
git push origin master //将本地内容推送到github
git pull //拉取github上的更新到本地
git branch //显示所有分支
git branch branchname 创建一个新分支
git checkout name 切换到这个分支
git checkout -b branchname 切换到一个新分支,相当于上面两个命令的合并
git merge branchName 合并指定分支到当前分支
git branch -d branchName 删除分支