您的位置:首页 > 其它

Git使用指南(Git教程)

2016-05-24 15:15 417 查看
[原文出处:Git使用教程 http://www.cnblogs.com/tugenhua0707/p/4050072.html]

[Git 常用命令列表]

   mkdir:         XX (创建一个空目录 XX指目录名)
   pwd:             显示当前目录的路径。
   git init             把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
   git add XX      把xx文件添加到暂存区去。
   git commit –m “XX”       提交文件 –m 后面的是注释。
   git status       查看仓库状态
   git diff  XX      查看XX文件修改了那些内容
   git log              查看历史记录
   git reset --hard HEAD^     回退到上一个版本
   git reset --hard HEAD~XX      (如果想回退到100个版本,使用git reset –hard HEAD~100 )
   cat XX             查看XX文件内容
   git reflog        查看历史记录的版本号id
   git checkout -- XX     把XX文件在工作区的修改全部撤销。
   git rm XX        删除XX文件
   git remote add origin https://github.com/tugenhua0707/testgit    关联一个远程库
   git push –u     (第一次要用-u 以后不需要) origin master 把当前master分支推送到远程库
   git clone https://github.com/tugenhua0707/testgit      从远程库中克隆
   git checkout –b dev      创建dev分支,并切换到dev分支上
   git branch       查看当前所有的分支
   git checkout master     切换回master分支
   git merge dev       在当前的分支上合并dev分支
   git branch –d dev    删除dev分支
   git branch name      创建分支
   git stash               把当前的工作隐藏起来 等以后恢复现场后继续工作
   git stash list        查看所有被隐藏的文件列表
   git stash apply    恢复被隐藏的文件,但是内容不删除
   git stash drop      删除文件
   git stash pop        恢复文件的同时 也删除文件
   git remote            查看远程库的信息
   git remote –v      查看远程库的详细信息
   git push origin master     Git会把master分支推送到远程库对应的远程分支上

[Git常用命令详解——Git Bash中[b]操作][/b]

1. 创建版本库(git init /git add / git commit / git diff /git status)

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

(1) 创建版本库(git init):

        $ mkdir testgit

        $ cd testgit      # 可以使用pwd命令显示当前的目录

        $ git init

        这时候你当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。

(2) 添加文件到版本库中(git add / git commit):

        首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

        第一步:在版本库目录testgit中新建一个文本文件readme.txt,然后将这个文件添加到暂存区里面:

                $ git add readme.txt

        第二步:使用命令git commit告诉Git,把文件提交到仓库中:

                $ git commit -m "提交readme文件"    # 其中引号中的内容是提交的注释

(3) 查看状态(git status):

        通过命令git status来查看是否还有文件未提交,如果没有任何文件未提交,提示如下:

                $ git status

                On branch master

                Nothing to commit, working directory clean 

        如果文件有修改未提交(修改readme.txt文件),提示如下:

                $ git status

                On branch master
                Changes not staged for commit:
                     (use "git add <file> ..." to update what will be committed)
                     (use "git checkout -- <file>..." to discard changes in working directory) 
                                modified:  readme.txt
                no changes added to commit (use "git add" and/or "git commit -a")
                上面的命令返回信息告诉我们 readme.txt文件已被修改,但是未被提交的修改。
(4) 查看文件修改了什么内容(git diff):

                 $ git diff readme.txt 

                      


                   如上可以看到,readme.txt文件内容从一行11111111改成 二行 添加了一行22222222内容。提交修改和提交文件是一样的2步(第一步是git add  第二步是:git commit)。

                      


2. 版本回退(git reset / git log)

(1) 查看历史记录(git log):

                $ git log

                $ git log --pretty=oneline   # 在一行中显示log信息

                    


                    git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,增加内容为333333.上一次是添加内容222222,第一次默认是 111111.如果嫌上面显示的信息太多的话,我们可以使用命令 git log –pretty=oneline 演示如下:
                    


(2) 版本回退(git reset):

                $ git reset --hard HEAD^        # 退回到上一个版本
                $ git reset --hard HEAD^^      # 退回到上上个版本
[b]                $ [/b]git reset --hard HEAD~100  # 退回到前100个版本
(3) 恢复某个版本(git reset / git reflog):

                $ git reset --hard <版本号>

               
如果不知道要恢复的那个版本的版本号了,可以通过git reflog命令查看版本号。

                      


                通过上面的显示我们可以知道,增加内容3333的版本号是 6fcfc89,我们现在可以用以下命令来恢复了:
                $ git reset --hard 6fcfc89
                      


3. 理解工作区与暂存区的区别

     工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。

      版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
我们前面说过使用Git提交文件到版本库有两步:
        第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
        第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

<未完待续>

[附加内容:了解和安装Git]

一:Git是什么?
       Git是目前世界上最先进的分布式版本控制系统。
二:SVN与Git的最主要的区别?
      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。
      Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
三:在windows上如何安装Git?
      msysgit是 windows版的Git,如下:
     


 需要从网上下载一个,然后进行默认安装即可。安装完成后,在开始菜单里面找到 “Git –> Git Bash”,如下:
  


会弹出一个类似的命令窗口的东西,就说明Git安装成功。如下:
 


安装完成后,还需要最后一步设置,在命令行输入如下:
 


  因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识。
   注意:git config  --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息