zoukankan      html  css  js  c++  java
  • GITHUB入门

    参考文章:http://www.liaoxuefeng.com/的GIT教程

    另外一个小白的教程问题,可以随便看看http://www.cnblogs.com/visi/archive/2011/09/07/2169938.html

    装完git软件可以设定全局用户名以及邮箱

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

    所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

    $ mkdir learngit
    $ cd learngit
    $ pwd
    #显示目前所在位置
    $ git init 开启git项目模式
    $ git status 查看仓库的当前状态
    $ git diff [path]  查看文件被修改了哪些,似乎得在提交前才会有输出内容
    $ git log 查看commit的情况
    $ git log --pretty=oneline   将commit情况给简化为一行一行,看起来舒服
    $ git reset --hard HEAD^     HEAD表示当前版本,HEAD^表示上个版本,这命令的含义是恢复到上个版本
    $ git reset --hard HEAD^^    恢复到上上个版本
    $ git reset --hard HEAD~100   往上前一百个版本
    $ git reset --hard 13123123123 commit的编号
    $ git reflog            如果git log没有最新版本的记录,可以用这个记录
    $ git add .             就是把修改的文件或者添加的文件放在暂存区
    $ git commit             把所有暂存区的所有修改一次性保存到分支里
    每次修改,如果不add到暂存区,那就不会加入到commit中。
    $ git checkout -- [path]     把[path]文件在工作区的修改全部撤销
    1.如果还没有add命令,则到上一个commit的状态
    2.如果在add命令之后,则到上一个add的状态
    3.如果要回到add命令前的状态,就用git reset HEAD readme.txt来把暂存区的内容去掉,然后再实行这个命令
    $ git rm [path]  再commit   直接从版本库里删掉 删错了,可以用 $ git checkout -- test.txt 函数来补救
     

     再来就是在github主页新建一个项目,然后

    要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
    
    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
    
    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

    创建删除合并分支

    查看分支:git branch
    
    创建分支:git branch <name>
    
    切换分支:git checkout <name>
    
    创建+切换分支:git checkout -b <name>
    
    合并某分支到当前分支:git merge <name>
    
    删除分支:git branch -d <name>

     在master分支下(不能在当前分支下删除当前分支)删除远端库的分支dev

      git  push origin --delete dev

     一般merge比较流畅的话,就是Fast-forward模式,比如本来是master分支(状态1:之前add并commit了的状态),然后创建并切换到dev模式并改写添加提交(状态2:现在在dev分支把原来从master继承下来的初始状态1改写,又addcommit了)

    这里merge的效果就是master的状态1直接就是dev的状态2

    然后就可以删除掉本地的dev分支,再删除远端库的dev分支

    如果我创造了dev分支,并状态2,我又checkout回branch状态1,再修改addcommit,此时是状态3.接着我再merge的话,就麻烦了,直接告诉我问题出来了

     status看看是那些文件冲突了,再看看文件

    Git会用<<<<<<<=======>>>>>>>标记出不同分支的内容

    于是我们开始干活,解决掉冲突内容,再addcommit掉,此时是状态4,仍然在master分支下,而dev1分支还是保持在状态2

    $ git log --graph --pretty=oneline --abbrev-commit
    此时可以用这个命令来看合并图

    =====2014/12/14 git目前就学到这了,我感觉学得差不多了,解决掉ph-pages分支应该没咋问题了,至于怎么跟别人合作问题等我对项目感兴趣再提交吧=====

    ssh -T git@github.com
    连上github

    下载github代码到本地:
    git clone git@github.com:zhko11993/zhko11993.github.io
    cd到目标项目里
    添加文件 :git add .
    提交缓存 :git commit -m '提交';

    提交到远程GitHub仓库 : git push -u origin master ;-u的zuo是作用是关联到远程库

    mac 

    让.DS_Store不上传http://bmanlog.sinaapp.com/?p=32

     对于使用git的情况:

    增加.DS_Store到库的顶层目录下.gitignore文件

    然后git add .gitignore

    Git commit –m “.DS_Store remove”

    全局配置方法:

    Git config —global core.excludesfile = /path/to/.gitignore

    然后配置这个.gitignore文件就像配置项目目录下的.gitignore文件一样

    这里采用的办法是 http://blog.csdn.net/qq61394323/article/details/23783829

  • 相关阅读:
    linux命令
    使用JS实现前端缓存
    git放弃本地修改 强制更新
    java list
    Jquery获取select 控件的change事件时选中的值
    如何将Js代码封装成Jquery插件
    如何获取Iframe的页面控件的值
    简单的百度地图点击获取当前地理坐标
    使用Ajax上传图片到服务器(不刷新页面)
    在微信浏览器中如何让他自动关闭当前页面回到会话框js
  • 原文地址:https://www.cnblogs.com/zhko11993/p/3955643.html
Copyright © 2011-2022 走看看