zoukankan      html  css  js  c++  java
  • Git的基本使用

    创建本地版本库
        git init demo
            将demo文件夹创建为版本库
            如果是旧版本(1.6.5之前),不支持这种写法,需要进入demo文件夹,然后执行 git init 命令,就会将当前文件夹创建为版本库
            版本库创建后会在该目录创建一个 .git 的隐藏文件
    
    检出项目
        git clone 
            将一个版本库从服务器down下来
        举例:
            git clone https://github.com/nbcoolkid/Spring.git
            如果是本地的版本库
            git clone ../GitServer/demo demo-step-1  说明:demo是版本库的工作区目录,demo-step-1是clone后的目录
    
    查看项目
        git status
            查看当前本地文件在版本库中的状态
        git log
            查看提交日志
        git diff
            比较文件修改后差异
        git --version
            查看当前git版本
        git rev-parse --git-dir
            显示版本库 .git 所在目录
        git rev-parse --show-toplevel
            显示工作区根目录    
            对于git而言,是不区分工作目录与版本库目录的.
        git reflog
            查看最近操作        
    
    添加/删除文件纳入GIT版本控制
        git add fileName
            将新增的文件添加进版本库
        git add -u
            将所有修改过的文件加入暂存去
        git add -A
            将本地删除与新增都登记到暂存区
        git rm fileName
            将删除的文件添加进版本库
        git rm --cached fileName
            忽略文件,同时需要配置到.gitignore文件中
    
    提交更新
        git commit
            将添加进版本库的文件提交
            git commit -m "提交说明信息"   如果这里不使用 -m 参数进行提交说明,也会有提示让我们输入提交信息
    
    提交到服务器
        git push
            将本地修改提交到远程版本库
            需要根据提示输入用户名密码
    
    冲突
        冲突的产生:两个用户从版本库clone一份代码后,经过修改,A用户提交了,然后B用户也提交,并且他们修改了同一个文件,就会产生冲突。
                    因为GIT不知道这个文件应该使用A还是B
    
        解决思路:B在提交前,先合并A的提交,然后再向服务器提交
            git pull    合并冲突
                        自动合并有可能会失败,此时就需要我们收到打开文件进行修改更新
            git add fileName
            git commit -m "message"
            git push
    
    环境变量
        git config core.quotepath false
            设置环境变量,解决中文文件名在这些git命令输出中的显示乱码问题
        sudo git config --system alias.st status
            为git命令设置简单的别名,经过上述设置后,git st就相当于git status  所有用户都有效
            sudo git config --system alias.commit ci
        git config -global alias.st status
            作用与上一条一样,仅配置本用户的全局属性.也就是仅针对当前用户有效
        git config --global color.ui true
            在git命令输出中开启颜色显示
        git config -e
            编辑当前版本库的配置信息
            相当于编辑 .git/config 文件
        git config -e --global
            编辑当前用户全局配置文件
            相当于编辑 ~/.gitconfig
        git config -e --system
            编辑系统全局配置文件
            相当于编辑 /etc/gitconfig
    
    
    回到过去
        git reset --hard commitId    这里的hard是版本库的一个commit指针
    
    回到未来
        当使用git reset --hard回退到某个版本后,如果想要返回原先的版本,首先使用git reflog命令查看操作
        找到commitId后,还是使用git reset --hard commitId回到未来    
    
    里程碑
        概念:软件的一个版本号
        创建里程碑:
            在github中,打开项目,点击releases,按照提示填写里程碑信息
            填写完成后,提交,就将这个版本发布出去了。
    
    分支
        分支开发:
            在Windows上的图形操作:点击master右边的倒三角创建一个分支    三角->manage->加号->输入分支名    ;切换到新的分支上
            然后就可以在新的分支上修改提交了
        分支合并:
            在Windows上的图形操作:进入版本管理的分支窗口(三角->manage->加号->输入分支名)
            将分支移动到Merge的左侧,主干分支移动到Merge的右侧,点击Merge
    
            另一种合并分支的方式:
                在GitHub中,如果本地做了一个分支并且提交更新,在GitHub网站上,就会提醒我们 要不要合并分支。一般开源软件会采用这种方式进行分支的合并        
  • 相关阅读:
    cocos2dx 解释二具体的启动过程:内存管理和回调
    允许Android随着屏幕转动的控制自由转移到任何地方(附demo)
    freemarker 空白处理
    采用Duplicate target database在线恢复秩序oracle datagard图书馆设备
    activiti入门2流程引擎API和服务基础设施
    【android】ImageView的src和background以及两者之间的神奇的差异
    HDU ACM 1007 Quoit Design 分而治之的方法,最近点
    Dynamics CRM2013/2015 禁止欢迎屏幕(Disable the Welcome Screen)
    2013年第42周二明智行动的艺术
    2013第42周一睡前
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4572620.html
Copyright © 2011-2022 走看看