Git基本使用

Git的基本介绍
    Git&SVN:
        Git:分布式代码管理系统
        SVN:集中式的代码管理系统
 
    Git可以做的:
        1)版本控制,解决找回历史代码问题
        2)分布式:同一个git仓库可以分布到不同的机器上,首先找到一台服务器的角色的电脑或服务器,可以是本机,也可以是github网站,其他每个人都从这个’服务器’仓库克隆一份代码到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库拉去别人的提交
 
    集中式和分布式的区别——工作电脑是否保存了代码的完整版本
        集中式没有保存了完整版本,一旦中央服务器挂掉了,其他人就不能工作了
        分布式保存完整的版本,一旦中央服务器挂掉了,还能继续工作
 
 
Git使用的步骤:
1.安装git:sudu apt-get install git  ——》检查是否安装直接输入:【git】命令
2.本地创建一个文件
3.创建版本库
    git init
    git借助【.git】这个文件来管理这个目录下的文件
    
 
4.创建一个版本(下面2句命令):
    git add ***文件
    git commit -m “描述信息”
 
    ps:怎么查看提交的版本记录呢?
        git log
            
 
     接下来再提交一次,git log查看:
            
 
    补充:版本的回退:
        git reset --hard HEAD~1
            每次提交完代码,就会有一个HEAD指针指向最新的版本
            比如回到前2个版本?
                写法1:HEAD^^
                写法2:HEAD~2
                    回到前10个版本:HEAD~10
            所以其实只要把HEAD指针的指向变了,那当前的版本就变了,而且git并不会删除版本2如果向回到版本2呢?使用【git reset --hard 版本号】语句
            
            
            
 
 
        ps:把终端关掉,找不到git提交版本号了怎么办?——【git reflog】
            
 
        补充知识点:Git的工作区、版本库(也叫暂存区):
            工作区:
                比如上面的git_project目录就是工作区,就是当前我们写代码的目录
            版本库(暂存区、版本信息):
                工作区有一个隐藏的文件【.git】,这个是git的版本库
                我们通常使用的【git add】命令就是把工作区的代码修改添加到暂存区,【git commit 】命令就是将暂存区的代码提交到当前分支
                如何查看暂存区的内容——【git status】
                
 
                如何撤销修改:
                    1)对于没有add到暂存区的可以直接checkout分支上面的那个文件,即丢弃工作区当前的改动
                        git checkout -- ***文件
                        
 
                    2)对于已经add到暂存区的使用
                        git reset HEAD ***文件
                        
 
            补充知识点:如何比较同一文件不同版本的代码异同呢?
            ps:- + 号对应不同的版本,要注意
                举例:比较工作区和暂存区同一文件的不同——【git diff HEAD -- ***文件】
                
 
                举例:比较两个不同暂存区版本的文件——【git diff HEAD HEAD^ -- ***文件】
                
                
 
        补充知识点:删除文件:(也是工作区的改动,可以使用checkout):
      git rm ***文件
      git commit -m "***"
                
 
实际工作场景:
    1)master是一个主分支,其实是HEAD指向了master指针,master指针指向了主分支
        此时查看当前分支显示只有master:git brach
    2)建立一个dev分支,其实是建立了一个dev指针,指向了master代码分支,HEAD指针此时指向了dev指针,而master指针还是在原处不变
        git checkout -b dev
        此时查看日志:git log --pretty=oneline——最新一行显示了HEAD指向了dev分支
       
    3)修改文件add到暂存区,并commit,此时commit到的是dev分支
    4)第3步的dev的工作做完后,我们要把代码合并,这是只需要把master指针指向新的代码分支,HEAD指针指向master指针即可
        git checkout master
    5)把dev分支合并到master分支
        git merge dev
        ps:这时是fast-forward模式,如果两个分支都对同一个文件做了修改,就会出现代码冲突,无法fast-forward,需要手动解决,重新commit
      
 
    6)最后删除dev分支,其实就是删除dev指针
        git branch -d dev
        ps:这里其实就是删除指针而已,很快
    7)push到服务器的git代码仓库
   git push origin master
 8)从远程分支上拉取代码
        git pull origin 远程分支
        
        
 
简易操作流程及命令:
    git clone ****
    git checkout -b dev
    git add ***
    git commit -m ***
    git push origin dev
        
 
小Tips:
    1)设置本地分支跟踪远程github的分支:
        git branch --set-upstream-to=origin/dev dev
        git push
        
        
2)在pycharm中使用git:
    绿色的代表这次新增的文件,蓝色的代表有改动的文件
    commit的时候最好每个文件都单独加comment
    开发前最好从远程分支上git pull拉取最新的代码一下
 
好贴参考:https://www.cnblogs.com/guoyaohua/p/Git-tutorial.html
posted @ 2020-10-18 01:44  深藏blueblueblue  阅读(123)  评论(0编辑  收藏  举报