git命令学习

1. 第一阶段:在沙河的日子(小东北创业史)

    git命令?
            git init 加入git管理-----自动创建 .git 文件夹
            git add.    提交到暂存区
            git status 管理的状态
            git commit  提交到版本库
            git log     
            git reflog 
            git reset --hard 回滚
            git checkout 
    
        
            
    
        第二阶段:开发直播功能,开发过程中临时需要修复bug或临时新功能到来。
        
            方式一:
                git stash :把新增的代码暂存到某处
                git stash pop :把暂存的代码拿到本地继续进行开发
                
                
                git stash           将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态
                git stash list      查看“某个地方”存储的所有记录
                git stash clear     清空“某个地方”
                git stash pop       将第一个记录从“某个地方”重新拿到工作区(可能有冲突)
                git stash apply     编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) 
                git stash drop      编号,删除指定编号的记录
            
                git stash作用,帮助我们暂时存储已经开发一些功能的代码,继续做其他事情,做完之后,再回来继续开发
            方式二:
                git branch :查看分支
                git branch dev   :创建一个分支   
                git branch bug     创建一个bug分支
                git branch -d bug  bug修复完毕删除bug分区
                git checkout dev :进入dev分支
                git merge bug(被合并的)       在master分区时会把bug分区的代码合并到master下
                
                
            面试题:如果代码出现bug,你们是如何解决?
                    创建一个bug分支,然后进行bug处理,处理完毕后,合并到master分支。
                    删除bug分支
                    回到dev分支继续开发。
                    
                    
        第三阶段:在三里屯买了一层楼。
                  需要一个代码托管的网站:github、Bitbucket、码云
                  自己创建代码托管的网站:gitlab 
                
                  注册账号:
                        用户名:邮箱
                        密码:admin123
                    
                命令:
                
                上传操作:
                下载操作:
                    新项目先克隆下来项目代码:git clone https://github.com/WuPeiqi/dbhot.git
                
                    git remote add origin .........
                    
                    
                    git push origin dev 
                    
                    git pull origin dev 
                        git fetch origin dev 
                        git merge origin/dev   改:  git rebase origin/dev 
                    git pull origin master 
                        git fetch origin master
                        git merge origin/master
                    
    
                面试题: git rebase的作用?
                         保持提交记录的整洁。
                         
                
 
        第四阶段: 多人协同开发
            1. 允许他人操作程序
                - 合作者
                - 创建组织
            
            2. 分支
                - master
                - dev 
                - xdb
                - zhh
            3. 规则
                - 一起合并
                - 合并时间:1/2
            
            问题:
                $ git push origin dev
                To https://github.com/WuPeiqi/dbhot.git
                 ! [rejected]        dev -> dev (fetch first)
                error: failed to push some refs to 'https://github.com/WuPeiqi/dbhot.git'
                hint: Updates were rejected because the remote contains work that you do
                hint: not have locally. This is usually caused by another repository pushing
                hint: to the same ref. You may want to first integrate the remote changes
                hint: (e.g., 'git pull ...') before pushing again.
                hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    
            4. 做代码review
                如何做代码review?
                    - 创建review分支:
                谁来锁代码review?
                    - 组长
                    - 带你的人
            
            
        第五阶段:给别人代码贡献力量
            
            问题: 如果你要在github上给别人代码添加功能?
                  fork
                  pull request 
            
            
        
        其他:
            a. 不用反复输入用户名密码登录
                Https:
                    https://用户名:密码@github.com/WuPeiqi/dbhot.git
                    git remote add origin  https://用户名:密码@github.com/WuPeiqi/dbhot.git
                
                SSH:
                    git@github.com:WuPeiqi/dbhot.git
            
            b. .gitignore文件 
            
            
            c. 版本 
                    git tag -a v1.0 -m '版本介绍'        本地创建Tag
                    git show v1.0                       查看
                    git tags -n                         查看本地Tag
                    git tag -l 'v1.4.2.*'               查看本地Tag,模糊匹配
                    git tag -d v1.0                     删除Tag
                    git push origin :refs/tags/v0.2     更新远程tag
                    git checkout v.10                   切换tag
                    git fetch origin tag V1.2

                    git push origin  --tags
                    git pull origin  --tags
                    
                    
                    git clone -b v1.0  https://github.com/WuPeiqi/dbhot.git
                         
                         
原文地址:https://www.cnblogs.com/wanghuaqiang/p/9140787.html