Git简单使用

1. 本地库初始化前期

1.1. 本地库初始化

    在项目文件夹中使用git init 初始化git本地仓库
    会生成一个.git文件夹, 里面有一些子目录和文件

1.2. 设置签名

    1. 形式: 
        用户名: tom
        Email地址: [email protected]
        作用: 区分开发人员
    2. 辨析: 这里设置的签名和登陆远程中心的账号密码没有任何关系

    3. 命令: 
        1. 项目(仓库) 级别: 仅在当前本地库使用, 即本项目使用
            git config user.name tom_pro
            git config user.email [email protected]

            信息保存的位置是.git/config
        2. 系统用户级别: 登陆当前操作系统的用户范围
            git config --global user.name tom_glb
            git config --global user.email [email protected]

            保存位置 ~/.gitconfig
        3. 遵循就近原则: 项目级别 > 系统用户级别
            不允许都不存在的状态.

2. 本地库的操作

2.1. 初始化和提交

    1. 查看状态
        git status 
    2. 将工作区的"新建和修改" 添加到暂存区
        git add <file>  将没有track的文件假如到我们的git管理的东西, 即添加到暂存区
        git rm --cached 移除到暂存区, 进行撤销
    
    git commit 进行提交并写上注释
    git commit -m "" <file name>

2.2 更新版本(前进后退)

2.2.1 查看日志

        git log 显示日志, 完整的日志
        git log --pretty=oneline  在同一行显示, 有完整的hash值
        git log --oneline 显示hash值的一部分
        git reflog 显示移动的步数 
            HEAD@{移动到当前版本的步数}

2.2.1 基于索引值进行前进后退[推荐使用]

        git reflog 先查看hash值
        git reset --hard <hash Value>

2.2.2 使用^符号: 只能后退

        git log --oneline 只显示先前的历史记录
        git reset --hard HEAD^ "^" 的个数代表回退的机会
        git reset --hard HEAD~3 表示回退3步
        git reset --hard HEAD~n "n" 代表我们要回退的步数

2.2.3 reset的三个参数对比

        1. --soft  
            仅在本地库移动指针
            本地库向前, 相对的暂存区和工作区后移
        2. --mixed
            在本地库移动HEAD 指针
            重置暂存区
        3. --hard	使用最多OB
            在本地库移动HEAD指针
            重置暂存区
            重置工作区

2.2.4 删除文件找回

        **前提: 删除前: 文件存在时的状态提交到了本地库**
            git reset --hard [指针位置]
            删除操作已经提交到本地库, 指针指向历史记录位置
            删除操作为提交至本地库, 指针使用HEAD
             使用跳转就好了

2.2.5 进行比较, 文件差异

        git diff [文件名]
            将工作区的文件和暂存区比较
        git diff [本地库历史版本]
            将工作区的文件和本地库历史记录进行比较

2.3 分支操作

    1. 创建分支
        git branch [分支名]
    2. 查看分支
        git branch -v
    3. 切换分支
        git checkout [分支名]
    4. 合并分支
        1. 切换到接收修改的分支上(被合并的, 增加新内容);
            git checkout [分支名]
        2. 执行merge命令
            git merge [分支名]
    5. 分支冲突
        1. 冲突表现: 文件中多出来一些东西, 指明是谁修改了
        2. 冲突解决
            2.1 编辑文件, 删除特殊符号
            2.2 把文件修改到满意的程度
            2.3 git add [文件名]
            2.4 git commit -m "日志信息"
                notice : 此时不能带任何文件名字

3. 远程库与本地库之间的操作

3.1 克隆 git clone [Address]

    1. 完整的把远程库下载到本地
    2. 创建origin远程地址别名
        git remote add orgin [地址]
    3. 初始化本地库
    4. 推送到远程库 
        git push [地址别名] [分支名]

3.2 pull = fetch + merge

     git fetch [远程库地址别名] [远程分支名]
     git merge [远程库别名/远程分支名

3.3 解决冲突:

    1. 要点
        1. 如果不是基于Github远程库最新版做的修改, 不能推送, 必须先拉去操作.
        2. 拉取下来, 进入冲突, 解决冲突就好了.

3.4 ssh登陆

    1. 进入当前用户的home目录
        $ cd ~
    2. 删除.sh目录
        $ rm -rvf .ssh
    3. 运行命令生成.ssh密钥目录, 
        $ ssh-keygen -t rsa -C [Your email used in login Github]
        notice : -C is capital format
    4. 进入.ssh 目录查看文件列表
        $ cd .ssh
        $ ls -LF
    5. 查看id_rsa.pub的文件内容
        $ cat id_ras.pub
    6. 复制文件内容, 登陆GitHub, 点击头像->Settings->SSH and GPG keys
    7. NEW ssh key 
    8. 输入复制的密钥信息
    9. 回到git bash 里面创建远程地址别名.
        $ git remote add orgin_ssh [ssh 地址]
    10. 推送文件测

4. 在eclipse中进行操作

4.1 在eclipse 中初始化本地库, 右键工程->team->share project 

4.2 创建好之后, 我们可以需要写一个gitignore文件,忽略我们版本库不需要的东西.
4.3 未完待续
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章