git教程

作为程序员,git的使用一定是必须的。在正式入职之前,把git好好搞明白了。就可以省去入职以后再git上面的学习时间啦,so good!

这篇博客主要功能是一个学习笔记,也是根据别人的博客进行自我消化总结出的一篇,主要目的是自我复习,提醒自己一些关键的地方不要忘记,对于读者来说,由于描述不连贯的原因,可能会有阅读难度。希望大家转向原博文,原博文非常浅显易懂。

链接在此:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

git有什么作用呢?

版本控制。简单来说,git可以记录每次你对程序的改动。无须手动再记录了。

另外值得一提,git这种分布式管理系统的首个作者居然是Linus!!!也是linux的创建者,Linus果然是程序员之神,大牛中的大牛啊!

如果Linux操作系统中恰好没有git,那么安装一下也非常简单。

sudo apt-get install git

创建版本库

第一步,选择合适的目录。

第二步,让目录变成可以管理的仓库

git init

3. 添加文件

完成一个文件之后,置于git监控的目录之下。执行命令

git add file_name

 

4. 修改提交到仓库

git commit -m "write a reason"

git commit 的 -m后面跟着的是提交的说明和解释。这样,查看每次修改的内容就显而易见了。这个提示非常重要,认真写。这样你才能知道你每次对代码修改了什么。

5.掌握仓库当前状态

git status

这个命令只能告诉我们哪个文件被修改了。知道了被修改的文件之后,我们可以用git diff命令查看究竟是哪些地方进行了修改

git diff xxx

显示的一个例子如下:

image

-好后面是原始的代码or文本形式

+号后面是修改过后的代码or文本形式。

 

git status可以方便的指导哪些文件已经被修改过了。

git diff可以用来查看文件汇总哪些内容被修改了。

修改后的所有文件都要重新git add。

 

6. 查看git操作的历史记录

git log

如果输出信息太多,你受到干扰。可以使用下列命令,只输出主要信息

git log --pretty=oneline

image

注意,所有log是从新往旧排列的。

下面开始回退文件版本了。HEAD代表当前版本,HEAD^代表上一个版本,HEAD^^代表上上个版本,以此类推,也可以用数字表示HEAD~100。

回退完了,又后悔了怎么办?可以找到你要回到的那个版本号。用下列命令

git reset --hard XXXXXXX

版本号写前面若干位就可以了。只要保证是唯一的即可。

你是一定能找到原来的版本号的,只要用了如下命令

git reflog

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

 

总结:需要记住的git 命令:

1. 在一台新的电脑上,重新部署git环境时,需要设置:

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

2. 创建版本库命令

git init

# git 添加文件
git add xxx.xxx

# git 提交
git commit -m "xxx"

# 查看状态
git status

# 比较同一个文件 如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
git diff xxx.xxx


  

# 查看提交的历史记录
git log

# git log 简化版
git log --pretty=oneline

# 版本回退
git reset --hard 版本号

# 查看每一次的命令, 注意和git log 的区别
git reflog

  git add之后,立即进行git commit

 

撤销修改:

$ git checkout -- readme.txt

  

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

 

git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令,我们在后面的分支管理中会再次遇到git checkout命令。

 

Git同样告诉我们,用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区:然后git checkout -- file 就彻底丢弃掉修改了。

 

posted @ 2016-03-29 15:40  程序员小王  阅读(175)  评论(0编辑  收藏  举报