• Git使用笔记


     备注:

     1:设置用户名邮箱

    git config --global user.name ""

    git config --global user.email ""

    查看邮箱用户名:git config user.name

    查看配置状态:git config --list

    2:创建版本库(仓库),可以为不同的仓库设置不同的用户,并初始化仓库

    进入具体盘符下的仓库存放文件夹:(新建文件夹)mkdir filename

    pwd :显示当前目录

    进入上一级:cd ..

    git init :生成.git文件夹

    3:提交修改文件(不支持图片视频等的监控)

    git add file

    git commit -m +注释

    git status查看当下分之文件状态是否有变化

    git differ file 查看文件前后修改内容

    4:查看提交Log

    git log:显示最近三次提交logId以及内容

    git log -pretty=oneline :简略显示

    5:版本回退

    git reset --hard   HEAD^^^(^的次数代表回退的次数),如果多次用HEAD~(+次数)

    6:查看文件内容

    cat file

    7:获取修改提交内容以及版本号

    git reflog

    8:根据版本号回退

    git reset --hard 版本号

    9:版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。

    每次我们把修改的代码先存放在缓存区,然后通过commit放进当前分支

    10:撤销修改

    git checkout -- file(区分创建分支命令git checkour branch)

    文件在工作区做的修改全部撤销,这里有2种情况:第一,文件自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。第二,readme.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

     11:删除文件

    方式:第一直接文件夹下删除,第二,命令 rm file,然后commit,在没有commit之前,可以撤销删除: git checkout -- file

    第一次实践主要命令:
    git add .
    git commit -m ""(可以是文件夹文件名 方便以后查看本次修改的东西)
    git push origin lym/0729
    git checkout master(回到master)
    git pull

    如果多次提交,想要修复成一次提交:
    git log --graph

    远程库Github配置环境

    1:上边的配置只能允许Git本地管理,如果要远程提交代码,需要配置SSH 秘钥

    ssh-keygen -t rsa -C "email"(ssh后边没有空格)

    选择路径,默认,则出现了.SSH文件以及下面的.rsa &.rsa.pub

    copy 公共秘钥rsa,提交。

    2:登录github上,然后在右上角找到“create a new repo”创建一个新的仓库

    把本地的仓库推送同步到Github远程库中,

    git remote add origin https://github.com/tugenhua0707/testgit.git 

    3:master是一个时间串线,连接起所有commit的东西

    HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支

     4:查看所有分支

    git branch

    5:当在一条分支修改完之后,回到主分支master,看不到文件的修改,此时需要merge之前在分支上的修改到主master上

    git merge 分支

    6:此时查看文件,已经同步。cat file

    7:merge完成,删除之前的分支:git branch -d branchname

    但是通常合并分支时,git一般使用”Fast forward”模式,在这种模式下,删除分支后,会丢掉分支信息,采用如下命令避免该模式

     git merge –no-ff  -m “注释” branch

    8:当需要不同的工作空间时,我们可以隐藏当前的分支工作空间,临时创建新的分支

    git stash(隐藏当前分支)

    git status(当前工作空间是干净的)

    创建新的临时分支,修改内容,add,commit,merge(避免fast forward),删除临时分支,回到以前分支,git checkout oldbranch(此时还是干净的)

    8:恢复工作空间

    git stash list

    恢复:

    git stash apply,之后删除stash:git stash drop

    git stash pop 恢复的同时删除stash

    实际上,远程库的默认名称是origin,

    1. 要查看远程库的信息 使用 git remote
    2. 要查看远程库的详细信息 使用 git remote –v

    推送本地内容到远程库:

    git push origin master

    一般情况下,那些分支要推送呢?

    1. master分支是主分支,因此要时刻与远程同步。
    2. 一些修复bug分支不需要推送到远程去,可以先合并到主分支上,然后把主分支master推送到远程去。

    多人协作时,大家都会往master分支上推送各自的修改,

    首先要把dev分支也要推送到远程去,git push origin branch,

    克隆远程的库到本地来 git clone url

    把远程的origin的dev分支到本地来git checkout  –b branch origin/branch,修改,push,git push origin branch

    推送有冲突,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送

  • 相关阅读:
    Springmvc全局异常处理
    SpringMVC异常处理一
    [GDB7] gdb 的学习
    《Python 第七章》更加抽象
    python问题:IndentationError:expected an indented block错误解决
    [C/C++] C++ 类的学习
    [GCC6] gcc 的学习
    [Python] 列表 list
    [python] 循环与轻量级 pass, del, eval
    《Python 第八章》异常
  • 原文地址:https://www.cnblogs.com/newcoder/p/7267105.html
Copyright © 2020-2023  润新知