git使用总结

作者: w如弈如意c | 来源:发表于2018-07-31 22:37 被阅读0次

    看了以前自己写的总结,有一些还是对别人有意义的,打算认真归纳下,陆续发布不出来。

    就今天给公司新来的前端实习生做了关于git使用的培训,将自己前两天准备的文档做分享,也算是自己使用git的一次总结。

    本地操作

    1.什么是git

    • git是一个控制版本的系统,可以备份文件,记录历史,回退版本,实现多端共享,方便团队写作,同事git拥有强大的分支管理系统
    • git是分布式管理系统,svn是集中式管理系统,需要一台中央服务器,相对于svn,git速度更快,且更安全(代码不易丢失)
      2.git本地操作
    • git 分位三个区:工作区,暂存区,历史区(版本库)
    • git的安装
      ----window http://git-scm.com
      ----Mac 如果安装过xcode自带git,homebrew是mac的包管理工具
      3.使用git之前先告诉git你是谁(配置git用户和邮箱信息),如果不配置,不能提交代码

    可以查看git配置列表

    // git config --list 
    

    设置

    $ git config --global user.name "你的git用户名"    
    $ git config --global user.email "你的git邮箱"
    

    4.git的初始化

    • 创建并进入空一个目录
    • 通过Git-Bash打开命令行
    • git init命令把这个目录变成Git可以管理的仓库
    git init
    

    5.git中的三个区操作详解

    • 工作区
      -----通过git add 添加到暂存区,git add .或者-A,提交全部
    git add . // 添加全部
    

    -----git status 查看git状态,红色文件表示代码在工作区,绿色文件表示暂存区。

    git status   // 查看git状态
    

    -----git rm --cached 文件名,取消暂存,git rm --cached . -r 取消所。

    git rm --cached 文件名 // 取消暂存
    git rm --cached . -r  // 取消所所有暂存
    
    • 暂存区
      -----git commit -m 注释,将暂存区代码提交到版本库
    git commit -m 注释  // 将暂存区代码提交到版本库
    
    • 历史区/版本库
      -----每一个版本都有版本id号
      ----- 通过git log查看日志,里面记录提交信息
    git log  // 提交记录,包含版本号,我们能通过版本号找历史代码
    

    6.git diff,查看不同
    ----- 工作区和暂存区比较:

    git diff
    

    ----- 工作区和历史区比较:

    git diff master(分知名)
    

    ------ 暂存区和历史区比较:

    git diff --cached 
    

    7.撤销操作
    撤销回git add的内容:git reset Head "文件名" 或 .

    git reset Head "文件名"
    git reset Head .
    

    撤回文件(从暂存区中将工作区内容覆盖掉):git checkout "文件名" ,这个操作先从缓存区撤销,缓存区无内容,从历史区域撤销
    有的时候我们希望提交时合并到上一次的提交 git commit --amend

    git commit --amend
    

    8.回到固定版本
    git log,产看提交记录(含id),按“q”退出,或者按“/”搜索

    git log  // 产看提交记录(含id),按“q”退出,或者按“/”搜索
    

    方法一:git reset --hard commit_id,这种方式会用这个版本覆盖工作区和暂存区,git log看不到版本后的id了,用git reflog,能看到所有提交,git reset --hard HEAD^,回到上一个版本,git reset --hard HEAD^3,回到倒数第三个版本

    git reset --hard  commit_id  // 回到具体某个版本,此时it log看不到版本后的id了
    git reflog  // 能看到所有提交记录,包裹回到某个版本之后的提交记录
    git reset --hard  HEAD^  // 回到上一个版本
    git reset --hard  HEAD^3  // 回到倒数第三个版本
    

    方法二: git checkout commit_id,恢复某个版本文件:git checkout commit_id filename 某个文件

    git checkout commit_id
    git checkout commit_id filename 某个文件
    

    9.分支管理
    -----git branch ,查看分支

    git branch
    

    -----git branch 分知名 ,创建分支

    git branch 分知名
    

    -----git checkout 分支名,切换分支

    git checkout 分支名
    

    -----git branch -D 分知名,删除分支(不能删除当前所在分支)

    git branch -D 分知名
    

    -----git checkout -b 分支名,创建并切换分支

    git checkout -b
    

    -----git merge 分知名,合并分支

    git merge 分知名
    

    注意:在工作区新建的文件,在没commit前,是所有分支的,只有在commit后才确定属于哪个分支,如果文件有修改,默认不能切换分支,需要提交到暂存或者历史区,如果不想暂存或者提交到历史区,可以用git stash 暂存文件,切回分支时可以git stash pop,暂存被释放

    10.合并时冲突解决
    如果两个人同时改了一个文件,提交时会发生冲突,这是git会把两个人的提交保留,需要手动修改冲突,留下想要的结果,再提交
    11.添加忽略文件,.gitignore文件

    $ touch .gitignore // 创建.gitignore文件
    $ echo .DS_Store // 忽略
    $ echo node_modules // 忽略
    $ echo .idea // 忽略
    

    12.git不会上传空文件夹,如果需要上传,添加.gitkeep


    远程仓库

    1.首先得有线上代码仓库,可以是github或者gitLab,或者其他仓库
    2.关联到远程仓库
    git remote add origin 仓库地址,origin是仓库别名,可以添加多个
    git remote -v ,查看远程仓库信息
    git remote rm 仓库名,删除关联·

    git remote add origin 仓库地址
    git remote -v
    git remote rm 仓库名
    

    3.提交代码到你远程仓库
    git push origin master,可以git push -u origin master,这样下一次提交就咳哟i直接git push提交到origin仓库

    git push origin master
    git push -u origin master
    

    4.更新代码,git pull
    线上和线下代码不一样时,我们会发现push代码时会失败,这也是我们实际工作中遇到最多的。先git pull origin master(一般可直接git pull),然后改下注释,按esc,然后shift+z退出,在git push origin master

    如果有冲突,先手动解决冲突再合并
    5.github上建立静态页,建gh-pages分支,来发布我们的静态页
    ------ 在项目中创建一个gh-pages分支,在分支内建静态页,如index.html
    ------ 将分支提交到线上仓库
    ------ 找到提供给你的网站,在setting中,找到gitHub pages,下面有个地址就是gh-pages分支的静态页
    6.将向上仓库代码拉到本地
    git clone 仓库地址
    git clone 仓库地址  项目新名,可改项目名字
    

    默认就是git 仓库,且有origin地址,可以将代码提交到自己的仓库里

    注:fork别人的代码,可以New pull request提交给原作者

    7.在github上的setting可以设置Collaborators,设置共同开发的人(共享者可直接push代码,拥有最大权限)
    8.git可视化操作
    git自带界面话GUI,webStorm和vscode等编辑器也能实现可视化




    另外附上工作中经常用到的linux命令:
    1.pwd 打印工作目录
    2.删除文件夹 rm -rf 文件夹
    3.删除单个文件,rm 文件名
    4.建立目录,mkdir 目录名
    5.ls -al 显示目录下所有文件
    6.touch 文件名 ,创建文件
    7.cat 文件名,查看文件
    8.vi 文件名 i:插入模式 esc:退出编辑模式 q!强制退出 :wq 保存并退出
    9.echo输入文件内容,echo '内容' > 文件名,一个>表示写入,两个>表示叠加

    相关文章

      网友评论

        本文标题:git使用总结

        本文链接:https://www.haomeiwen.com/subject/elhsmftx.html