• [Linux] Git: 基本使用


    Git 属于分布式版本控制系统( Distributed Version Control System,简称 DVCS )客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程。

      Git 的基本工作流程:
    1. 在工作目录中修改某些文件。
    2. 对这些修改了的文件作快照,并保存到暂存区域。
    3. 提交更新,将保存在暂存区域的文件快照转储到 git 目录中。

    Git简单使用

    // 创建服务器代码仓库

    sudo useradd git
    sudo passwd git

    sudo mkdir -p /var/git.server/project1
    cd /var/git.server
    sudo chown git project1
    sudo chgrp git project1

    // 建立忽略
    cd project1
    $ cat > .gitignore << end
    > *.[oa]
    > *.so
    > *~
    > !a.so
    > test
    > tmp/
    > end

    sudo su git
    sudo git --bare init

    // 客户端使用

    // 从服务器克隆代码库
    git clone git@192.168.1.X:/var/git.server/project1 project1
    git add a.txt //  添加新增文件
    git add .     //  添加新增文件
    git commit -am "New Commit" // 提交版本
    git commit --amend -am "Rename New Commit" // 重新提交,更改注释

    git checkout -b abeen // 创建abeen分支
    git branch                   // 查看所有分支
    git checkout master   // 切回master分支
    git merge abeen              // 合并abeen分支到master

    git pull origin master// 从服务器刷新最新代码
    git push origin master// 将代码刷新到服务器
    git reset HEAD^             // 恢复到上次提交状态(HEAD^、HEAD~4、commit-id、tag)
    git status                         // 查看当前track状态
    git log                             // 查看提交日志
    git log -3                        // 查看最后三条提交日志
    git log -3 --stat            // 显示简单的统计信息    
    git log -l -p                 // 显示修改的详细信息

    // 阶段性版本
    git tag v0.9 // 创建标签
    git tag          // 显示所有标签
    git log v0.9 // 用标签显示提交状态
    git show --stat v0.9 // 用标签显示提交基本信息


    git rm filename                              // 删除代码库里的文件
    git checkout HEAD^ -- filename // 恢复文件
    git rm --cache filename              // 只从代码库删除文件,工作目录文件成未跟踪状态
    git checkout HEAD^ -- filename // 签出以前的某个版本
    git mv filename dirname              // 移动文件
    git show filename                          // 查看某个提交版本的具体信息
    git diff HEAd^ filename              // 比较版本差异

    git reset -hard commit_id //恢复之前版本

    远程仓库

    git remote // 查看当前远程库

    git remote -v (verbose简写)// 显示对应的克隆地址

    git remote add [shortname] [ulr] // 添加远程仓库

    git fetch [remote-name]  // 获取远程仓库信息

    git push origin master // 推送数据到远程仓库

    git remote show [remote-name] // 显示远程仓库信息

    git remote rename pb paul // 修改远程仓库对应名称

    git remote rm paul  // 删除远程仓库

    获取远程分支

    git checkout -b local-branchname origin/remote_branchname

    ---------------------------------------------

    更多内容请参考《Pro Git》

  • 相关阅读:
    文档中心 FetchURL Sina App Engine
    GroovyHelp使用指南 蛟龍居 BlogJava
    北京个人ADSL和企业ADSL有什么区别啊?
    手动编译cppserv0.1.99 @ apache2.2
    漫谈Web Service工作原理及.NET平台的实现机制
    Servlet与模板模式那些事
    [跟着hsp步步学习系统]oracle培训学习集锦全360度扫描(5)
    诺基亚死于大数据时代 上海唯一旗舰店关门
    苹果iPad强于分销渠道:平板领域将继续强势
    用友放弃野蛮生长战略 转型平台软件商
  • 原文地址:https://www.cnblogs.com/abeen/p/1757338.html
Copyright © 2020-2023  润新知