git指令快速入门

最近在公司参与的项目从SVN迁移到git上了。毕竟头发短记性差,仅以此文记录常用的git指令。手动捂脸哭…

git和SVN最大的区别是git是分布式的版本控制工具,SVN是集中式的。git的使用者每个人都能有一个自己的版本库,可以先将自己的文件commit到版本库然后再push到分支上。而版本库一般是本地的,所以没有网络也可以先commit。而SVN每次上传都要上传到线上的版本才能替换,否则不能保存。以上区别不保证完全正确,毕竟是土鳖实战派,会用才是王道。

开始

进入项目文件夹

第一步:进行git初始化,在文件内生成.git文件夹
git init
第二步:新建一个文件,可以直接右键新建,也可以用linux命令
git add Readme.md
第三步:
git commit -m "first commit"
git remote add origin https://github.com/hellomrbigshot/Just_a_test.git

这一步需要详细解释。git commit -m “xxx” 用来将你的文件提交到本地库,注意是本地库!还没有上传到远程主机!!!

git remote add 命令用于添加远程主机。这一句将 https://github.com/hellomrbigshot/Just_a_test.git 命名为origin。git remote 命令可以列出所有的远程主机。git remote -v可以参看远程主机的网址。

图1

第四步:将本地库push到远程主机
git push -u origin master

这样最简单的将本地代码push到远程主机的功能就实现了!

之后添加文件或者修改代码,改变之后用

git status

可以看到和本地库不同的内容会以红色呈现。

图2

这时我们要将我们需要提交的文件加入暂存区

git add .
git add d.txt

用.表示全部,输入文件名则只添加某个。

这时候再用git status查看一下状态。可以看到添加到暂存区的文件名变为蓝色。

图3

如果我们要将这个文件从暂存区移除,可以用

git reset HEAD d.txt
git rm --cache d.txt

这两个指令均有这个效果
若是想将这个文件从暂存区移除并删除这个文件,可以用以下指令

git rm -f d.txt

之后用以下指令将文件提交到本地库

git commit -m "some words"

如果我们此时错误地将文件提交到了本地库,可以用以下方式撤销本地库的修改

//仅仅只是撤销已提交的本地库,不会修改暂存区和工作区
git reset --soft 版本库ID

//仅仅只是撤销已提交的本地库和暂存区,不会修改工作区
git reset --mixed 版本库ID

//彻底将工作区、暂存区和本地库记录恢复到指定的本地库
git reset --hard 版本库ID

提交到本地库之后最终将它push到远程主机

git push -u origin master

master也可以是你的分支名

显示提交历史指令如下:

git log -p -2

如果不添加参数, git log 会按提交时间列出所有的更新,最近的更新排在最上面,使用 git log 后按q键退出。参数-2显示最近的两次提交,而-p显示具体的内容差异。
还可以用 git log –stat 显示增改行数统计。

删除文件

可以用linux命令进行删除,或者直接右键删除。linux删除如下:

rm -rf Readme.md

之后将删除保存到暂存区

git rm Readme.md

之后提交到本地库,最后push到远程主机即可。

暂时就想到这么多。先掌握这些就应该满足日常的git使用了吧。。。以后慢慢加!

更新:新建分支和合并分支

新建分支

git branch dev

切换分支

git checkout dev

合并分支

git merge master

这条命令是将master合并到dev,保证dev上的内容是最新的,之后切换到master

git remote master
git merge dev

将dev合并到master,这样dev上的更新就合并到了master上。
最后push一下

git    push -u origin master

这样分支上的更新就上传到服务器的master上了。
如果要删除分支,可以用

git branch -d dev