工作区、版本库(暂存区(stage|index)、master)

    1、工作区就是我们能够实际看到的那些文件的区域
    2、版本库其实是本地版本库,分为暂存区(stage|index)和本地master分支(由git为我们自动创建)
    我们的add操作是将文件添加到暂存区,commit操作是将文件添加到master分支(当然也可以是自己checkout出来的其他分支)

1、    每次push到预发分支的时候需要先拉一次pull一次预发,主要是用来在本地解决merge的时候可能会出现的冲突,
    比如大家都修改了同一个文件

    命令:git pull origin originname(远程分支的名字)


2、    查看远程分支
    git branch -r 

3、    但是如果是新拉的分支,没有做过pull和push上面的命令是获取不到的
    需要先 
    git remote update origin  后  再用 git branch -r  才能看到


4、    撤掉工作区修改乱了的文件到最近一次add之前  

    git checkout -- filename (--一定要有,不然就成了checkout 分支了)   

        这个命令的实际是用暂存区中的文件来覆盖现有工作区中的文件,
        备注:这个filename需要跟全路径或者cd到对应文件的目录才行

5、    工作区的文件本修改乱了而且commit了,这个时候要撤销,
        git reset HEAD filename

        备注:这个filename需要跟全路径或者cd到对应文件的目录才行


6、    文件已经commit了,但是发现有不需要commit的文件或者commit的文件中有错误,总之需要撤回本地的提交

    1、     首先需要找到上一次或者需要回退到的版本号,可以通过git log 或者通过idea的可视化界面获取到 版本id

    2、     命令 
            git reset --hard  id

            表示把本地的文件回退到版本号为id的版本(如果版本号id以后有修改,那么会撤销修改)

            git reset id

            表示把本地的撤销commit命令,但是不回退本地修改的文件(如果版本号id以后有修改,不会撤销修改)

 

7、    让某个文件不在由git来控制版本

    命令
        git update-index  --assume-unchanged filename  

        备注:filename是全路径名或者先切换到该文件的目录在执行命令

    让某个文件重新由git来控制版本

    命令
        git update-index --no-assume-unchanged filename

        备注:filename是全路径名或者先切换到该文件的目录在执行命令

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐