首页 > 其他 > 详细

分布式代码管理工具git常用说明

时间:2016-03-02 15:13:03      阅读:177      评论:0      收藏:0      [点我收藏+]

git是分布式的代码管理工具,本地Git仓库和网站的仓库(例:github/gitlib/coding)之间的传输是通过SSH加密的;
    1.安装git需要设置用户名和email;
    2.如果没有.ssh目录,手动生成SSH密码运行此命令:ssh-keygen -t rsa -C "email账号";id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人

本地启动ruby网站
   1. 启动本地服务:rails sever,打开浏览器访问:localhost:3000;

   2. 使用git下载远程版本:git pull 分支名称;(没有名称默认master)

   3. 下载远程版本如果提示本地有“未提交的文件”,则使用:git commit . (提交所有文件);

   4. 下载远程版本如果提示本地有“未合并的分支”,则使用:git marge 被合并的分支名称;

   5. 启动浏览器报错时:看看顶部的英文提示,是否需要运行什么语句;


6. git 常用命令:
    git init                (把文件夹变成代码管理仓库,就可以使用git命令操作该文件夹下所有的文件)
    git add file name            (添加文件到暂存区)
    git commit ./git commit filename    (提交所有文件到仓库/提交单个文件)
    git diff                 (查看修改过但未添加到暂存区的文件及内容,以及被添加到暂存区的看不到)
    git reset --hard HEAD^          (回退到上个版本,回退到上上个版本:把HEAD^改为HEAD^^,依次类推;回退到前20个版本的话:git reset --hard HEAD~20 即可(位于第21版本,回退20,则到1版本))
    git reset --hard 版本号            (回退到指定版本,可使用reflog查看版本号)
    git log/git reflog            (log查看当前分支合并的历史记录;reflog查看分支的所有合并历史记录,包括回退的版本提交的内容)
    git checkout -- filename        (撤销修改,分2种情况:①还没有放到暂存区,使用撤销修改就回到和版本库一模一样的状态。②文件已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态)
    git branch                (列出所有分支)
    git merge dev                (在当前分支合并dev分支中修改的内容(合并dev分支))
    git stash                (隐藏分支当前的工作内容。分支正处于开发中,但是有紧急任务需要处理,此时因为不能提交未完成的功能到分支,所以需要把当前工作内容隐藏;在主分支上另开分支修改紧急任务;(例:在dev分支中如果文件内容被修改,但未提交到dev分支时,master分支也可看到被修改的内容。此时如果从master另开分支时,会把dev分支未完成的内容也复制到新的分支中,所以需要隐藏dev的工作内容;注意:被隐藏的内容如果没有恢复又重新编辑新内容进行隐藏,只会保留最后一次修改的内容))
    git stash list                (列出当前分支被隐藏的工作内容)
    git stash apply                (恢复隐藏的工作内容,不删除记录)
    git stash pop                (恢复隐藏的工作内容,并把记录删除)
    git stash drop                (删除隐藏记录)
    
7. git远程协同工作:
    git remote add origin https://github.com/singerrow/testgit.git(远程仓库地址)    (在本地仓库添加远程仓库的地址)
    git push -u origin master        (把本地仓库的代码推送到远程仓库中去,第一次推送master分支时,加上了–u参数,会把本地的master分支内容推送的远程新的master分支,同时把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:git push origin master(分支名称))
    git branch dev                (创建dev分支)
    git checkout dev            (切换到dev分支;git checkout -b dev2(创建同时切换到dev2分支))
    git branch -d dev            (删除dev分支)
    git clone https://github.com/singerrow/testgit.git(远程仓库地址)        (复制远程仓库到本地文件夹下)
    git checkout  –b dev origin/dev        (下载远程仓库的dev分支到本地开发)
    git branch --set-upstream dev origin/dev(设置本地的dev分支与远程仓库的dev分支相关连,origin/dev代表远程的dev分支)
    


8. 合并分支冲突如何解决?
    1. 使用git diff查看产生冲突的文件以及内容;git使用++<<<<<<< HEAD,++=======,++>>>>>>> fenzhi1,区分分支;
        ++<<<<<<< HEAD            当前分支
         +999999999999991
         +888888888888881
        ++=======            分隔线
        + 88888888888888
        + aaaaaaaaaaaaaa1
        ++>>>>>>> fenzhi1;        被合并的分支
    2. 进入冲突文件,会发现文件中列出了所有增加或者删减掉的内容,+代表分支添加的内容;-代表分支被删除的内容。按照提示删除或者添加内容即可;
    3. 修改完文件之后,使用git commit 继续完成未合并的内容;
    4.合并完之后,保留master分支,删除掉开发分支;(这里指的是被合并的分支)


9. 获取git常用命令使用:git --help(获取更详细的帮助:git help -a)
 


理解工作区与暂存区的区别?
  工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
  版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
  我们前面说过使用Git提交文件到版本库有两步:
  第一步:是使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。
  第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上


容易忽略的地方:
   1. 分支修改过的内容,但是未commit到分支上,所有分支都能看到修改内容,哪怕已经add到暂存区
   2. 开发到一半的脚本,需要先完成临时任务,可以使用git stash隐藏工作内容。从新在主分支中开新分支进行完成

分布式代码管理工具git常用说明

原文:http://www.cnblogs.com/zwanwu/p/5234873.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!