zoukankan      html  css  js  c++  java
  • msys git 安装配置、git命令行使用

    安装

    1、安装msys git客户端程序
    
    2、打开git bash,命令ssh-keygen –C “admin@test.cn “ –t rsa
    
    3、复制C:Usersfelix.sshid_rsa.pub的内容到gitHublab里面的个人profile--ssh key中,title随便起
    
    4、初始配置
    
    git config --global user.name "huangjunhua"
    git config --global user.email "huangjunhua@cnicgz.cn"
    git config --list
    pwd
    
    5、测试ssh,命令ssh -T git@git.dev.cnicgz.cn -p 6822

    简单使用

    cd /path/to
    
    #克隆
    git clone ssh://git@git.dev.cnicgz.cn:6822/datacenter/maintain.git
    
    #提交本地
    git commit -am “修改信息”
    
    #上传远程
    git push
    
    #远程更新
    #建议用git fetch && git merge
    git pull

    要点

    Git 本地数据管理,大概可以分为三个区,工作区,暂存区和版本库。

    - 工作区(Working Directory)是我们直接编辑的地方,例如 Android Studio 打开的项目,记事本打开的文本等,肉眼可见,直接操作。

    - 暂存区(Stage 或 Index) 数据暂时存放的区域,可在工作区和版本库之间进行数据的友好交流。

    - 版本库(commit History) 存放已经提交的数据,push 的时候,就是把这个区的数据 push 到远程仓库了。

    详细使用

    --命令git branch -a,列出所有分支,git branch dev 创建本地dev分区
    
    --命令git checkout dev 切换到dev分区,工作区变成dev分支的内容
    
    --命令git checkout –b dev 创建并切换到本地分支dev (其中,git branch dev 是创建本地分支dev ;  git checkout dev 是切换分支)
    
    --命令git branch –d dev 删除分支dev
    
    --命令git clone --recursive -b $分支 $远程仓库 $路径
    分支:master
    远程仓库:ssh://git@git.dev.cnicgz.cn:6822/datacenter/maintain.git
    路径:/path/to/src
    仓库自动命名名为origin(origin相当于别名,运行git remote –v)
    
    --命令git status  查看本地(工作区)更新还没提交到本地分支的文件(实际文件目录)
    
    
    --命令git commit -am "本次提交描述"(结合git add. 和 git commit -m)工作区内直接提交到本地分支
    git add . 把本地更新还没提交到本地分支的文件增加到暂存区==git stage .
    git commit –m "本次提交描述" 把暂存区的内容提交到本地分支
    
    --命令git push origin 本地分支:远程分支  
    把本地分支内容提交到远程分支,origin为默认远程仓库
    
    --命令git log 查看git commit 版本
    
    --命令git fetch 下载远程更新,所有远程仓库内容下载到本地版本库(.git)
    
    --命令git merge origin/cms 把当前本地分支和远程指定分支进行merge, 若出现(XXX|MERGING)状态, 利用 git diff 查看冲突无法解决的地方

    --命令git pull origin 等于 git fetch && git merge,尽量使用git fetch 和git merge (6、7步)来代替git pull
    --命令git stash 备份工作区内容(从最近commit中备份),然后可以进行修复bug,修复完利用git stash pop恢复工作区内容 --命令git reset <commit_id> 默认-soft, 如果要hard程度就git reset --hard <commit_id>回退版本, 回退版本后想要回最新版本, --命令git reflog找到版本号后再次git reset <commit_id> --命令git rebase dev 把dev分支上的东西更新到当前分支上

    场景应用

    修改了4个文件,在不放弃任何修改的情况下,其中一个文件不想提交,如何操作?(没add : git add 已经add: git reset –soft )
    修改到一半的文件,突然间不需要或者放弃修改了,怎么恢复未修改前文件? (git checkout)
    代码写一半,被打断去做其他功能开发,未完成代码保存?(git stash)
    代码写一半,发现忘记切换分支了?(git stash & git checkout)
    代码需要回滚了?(git reset)
  • 相关阅读:
    《c++ templates》学习笔记(8)——第十一章 模板实参演绎
    关于Decorator模式
    《c++ templates》学习笔记(11)——第十章 实例化
    《c++ templates》学习笔记(5)——第六章 模板实战
    《c++ templates》学习笔记(9)——第十二章 特化与重载
    关于windows Power Shell (1)
    VC版的IniFile
    《c++ templates》学习笔记(6)——第七章 模板术语
    《c++ templates》学习笔记(4)——第五章,技巧性基础知识
    boost::test
  • 原文地址:https://www.cnblogs.com/fatt/p/6296688.html
Copyright © 2011-2022 走看看