美文网首页
git 使用心得

git 使用心得

作者: 在路上缓缓前进的蜗牛 | 来源:发表于2017-05-27 15:53 被阅读0次

    1.Git 是目前世界上最先进的分布式版本控制系统

    2.与SVN区别是,集中式,版本放在中央库

    3.windows安装git

        msysgit是windows版本的git
    

    4.git是分布式版本控制系统,所以需要填写用户名和邮箱名作为日标记

        git config --global user.name ""
        git config --global user.email""
        配置全局的git
    

    5.操作

    创建版本库
    选好文件夹作为git本地仓库
    
         git init  创建本地仓库
    
         git add file.txt   提交到缓存
        git cmmit -m '注释'   提交到当前分支上
          git status 查看当前仓库状态
          git diff file.txt  查看修改的内容
          git log 查看历史修改记录
          git log --pretty=oneline  单行显示
    
    git reset --hard HEAD^  回退到上一个版本
    git reset --hard HEAD^ 回退到上上个版本
    git reset --hard HEAD~100 到上100个版本    cat file.txt 查看文件内容
    git reset ---hard 版本号
    
    如果关掉命令行找不到版本号
    git reflog
    

    6.工作区与暂存区的区别

    工作区就是电脑上的目录
    版本库 .git 其中有stage暂存区,自动创建的分支master,指向master的指针

    git checkout  -- file
    丢弃工作区的修改
    添加到暂存区的内容不被撤销
    
    删除文件
    rm file
    不想删除
    git checkout -- file (恢复)
    git commit - m "" 提交删除(彻底删除)
    

    7.远程仓库

    SSH加密
    创建SSH Key 用户主目录下 .ssh 目录 (id_rsa私匙和id_rsa.pub公匙)

    ssh-keygen  -t rsa --C ‘’email"
    

    在github Add SSH Key里粘贴id_rsa.pub 文件的内容

    7.1关联远成仓库

    1.github上创建一个新的仓库,全部默认,作为空仓库

    git remote add origin ....git
    git push -u origin master
    -u命令,不但会把本地的master分支内容推送到远程新的master,还会把本地的master分支和远程的master分支关联起来,以后推送或拉取时可以简化命令
    

    2.github上创建的仓库含有reademe.md文件的

    需要将远程分支上的内容clone下来
    git clone remotebranch
    
    7.2创建与合并分支

    git每次提交都会把他们串成一条时间线,这条线就是一个分支,Git里叫主分支,master,HEAD指向master,master指向提交,HEAD只想的就是当前分支

    git checkout -b ng  创建并切换分支
    =git branch ng(创建分支) +git checkout ng(切换分支)  
    在ng分支上做完修改在master分支上不可见
    git merge ng 
    将ng上修改的内容合并到主分支master上
    删除分支
    git branch -d ng
    

    冲突问题
    在不同分支上修改同一个文件会产生冲突
    <<<HEAD指主分支  
     =======  
    >>>ng 分支
    

    手动解决冲突,master上commit然后删除分支


    fast forward 新建一个分支做修改后,切换回主分支master,master未作修
    改时进行合并就叫fast forward
    当直接merge时 ,删除分之后没有分支信息

    git merge --no-ff -m "注释,分之合并信息" 分支      加入分支信息
    

    临时插入的工作,修复bug

    分支上的工作没有完成时

    临时停下当时分支上的工作,无法提交的时候(貌似用处不大)

    git stash  当前分支就是干净的了
    原理是将当前工作区的内容保存到栈里
    

    切换到master 建立分支修复bug

    修复完后需要切换回分支继续工作
    git stash list 显示Git栈内的所有备份,可引用这个列表来决定从哪个地方恢复
    git stash apply (恢复到最近一次保存,不删除站内的内容)
    git stash apply stash@{0}(恢复到某次保存)
    git stash pop 从栈中读取最近一次保存的内容,恢复工作区的相关内容(并删除栈中本次记录)
    git stash clear 清空git 栈
    git stash drop 删除一条
    

    多人协作

    当从远程库克隆时,Git自动把本地的master分支和远程的master分支对应起来,并且远程库的默认名称是origin

    git remote 查看远程分支信息(当前提交的分支)
    git remote -v 查看远程仓库详细信息
    git push origin dev:dev  (本地分支,远程分支)
    如果当前在dev分支下可以直接 
    git push
    删除远程分支
    git push origin :dev
    

    相关文章

      网友评论

          本文标题:git 使用心得

          本文链接:https://www.haomeiwen.com/subject/ftfzxxtx.html