Git的使用

1 git 应用
2 git 仓库的创建  
3 git 的回滚,删除 ,checkout 
4 git 和远程仓库的关联

============================================================================================
==== 1 git 应用
   maven 项目生命周期管理工具   
   git 开源的,分布式的版本库

   1) 下载,安装 
     git 官网  https://git-scm.com/

      Git-2.24.1.2-64-bit.exe

   2) 打开 Git Bash 命令行

     可以直接双击桌面图标
     或右键的方式
     或直接在DOS窗口操作


        Git Bash  下常用的 Linux 命令

         -ls   //列目录
         -ll   //相当于 ls -l
         -ls -al //显示所有的文件,包扩隐含的
         -clear //清屏
         -ctl +l //清屏
         -touch //建文件
         -vim  //编辑文件
         -pwd  //查看当前路径

         附: vim 命令
         vim a.txt  然后按 i ,进入编辑模式,编辑,完毕以后,按 esc 进入 指令模式,再按 :wq 保存退出 (有时候要用wq! ,表示强制保存退出)

==== 2 git 仓库的创建,和提交 
        git 的信息查询        
          (1) git config -l  查看当前配置信息
                        diff.astextplain.textconv=astextplain
                        filter.lfs.clean=git-lfs clean -- %f
                        filter.lfs.smudge=git-lfs smudge -- %f
                        filter.lfs.process=git-lfs filter-process
                        filter.lfs.required=true
                        http.sslbackend=openssl
                        http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
                        core.autocrlf=true
                        core.fscache=true
                        core.symlinks=false
                        credential.helper=manager

          (2) git config  --global  -l   //如果是第 次装git 这里会报一个错

          (3) git config user.name 

        设置用户名和密码
          $ git config --global user.name "cat"   //后面的双引号可以不加
          $ git config --global user.email "732422364@qq.com"

          上面的用户名和密码,只是起一个标识作用,将来提交代码的时候知道是谁提交的,email 符不符合规范都不要紧

          实际上,对于全局配置, 会在 C:\Users\Administrator\ 下建一个 .gitconfig 的文件,内容                          
                    [user]
                        name = cat
                        email = 732422364@qq.com


         创建仓库 ,完成版本控制
             (1) 创建本地git仓库 
                >git init 
                    初始一个空的git仓库, 会生成一个隐藏的文件夹 .git (千成不要删除)

                git 中的工作区,暂存区,历史区(版本库),远程仓库 的概念

               ==工作区:  就是你现在能看到的工作的目录
               ==暂存区:  stage (阶段) 或 index , 一般放在 .git/index 文件
               ==历史区:  repository 仓库,或本地仓库
               ==远程仓库: remote (git hub 或 gitee等)

               工作区 add==> 暂存区  commit==> 版本库  push==> 远程仓库 

         (2) 在工作区编写文件,提到 暂存区
             >git add  xxx //把 xxx这个文件提到暂存区
             >git add *.java  //把所有的.java文件提到暂存区
             >git add . 或 git add -A  //提交所有的文件到暂存区

         >git status 可以查看状态
                        On branch master  //现在用的分支是 master            
                        No commits yet  //没有提交的

                        Changes to be committed:
                          (use "git rm --cached <file>..." to unstage)
                               //绿色的 表示提了
                                new file:   a.java
                                new file:   b.java
                                new file:   lesson4.java

                        Untracked files:
                          (use "git add <file>..." to include in what will be committed)
                               //红色 表示没提
                                c.txt
                                d.txt


                    红色代表文件在工作区
                    绿色代表文件在暂存区
                    看不到的代表所有的修改信息都已提到历史区


        (3) 提交到历史区
             > git commit -m "01 这是项目初始化,第五组的ssm之路开始了..."   //-m 后面的是本次提交相关的说明

             > git log 查看历史信息

             > git log 

                 > git log --pretty=oneline //可以查看简明列
                    0dd0db2d6170842d45c642aff8c523c869c62752 (HEAD -> master) 03 添加了两个js
                    f23cf2bd8c4cc35752cf6443558f3e744adb78fe 02 添加了登录和主界面
                    4b1738f3dacef6f5e7d2fd5ef176648c294d6bbc 01 这是项目初始化,第五组的ssm之路开始了...

                 > git reflog 查看历史信息,包含回滚信息


                关于中文名文件的问题
                在 目录中新建一个 名单.txt
                >git status 发现  "\345\220\215\345\215\225.txt"

                >git config --global core.quotePath false

                再查看,中文名能显示出来了

      (4) 忽略文件
          在当前目录,建一个叫 .gitignore 的文件 内容

                        .settings  //忽略 .settings目录
                        build  //忽略build目录
                        .classpath ///忽略.classpath  这个文件
                        target //忽略target 目录
            xxx.txt  //忽略 xxx.txt
             ....

==== 3 git 的回滚,删除 ,checkout 
        1) 回滚

             ===取消已提到暂存区的内容 ===
            >git reset  //从暂存区撤回全部
            >git reset a.h  //从暂存区撤回 a.h 


         === 历史区记录回滚 ====
         > git reset --hard HEAD^ 回滚到上一次

         回退到某个版本
         > git reset --hard f23cf2bd8c4cc35752cf6443558f3e744adb78fe  //其实取前几位就可以
         > git reflog //查看历史版本提交和回退情况

    2) 删除已存在于版本库中的目录或文件 
        直接在工作区中删除
        git add 
        git commit

    3) checkout
       >git checkout *   //从版本库签出所有
       >bit checkout b.css //只签出b.css 

    ==== 4 git 和远程仓库的关联

   码云 https://gitee.com/

   1) 先在 gitee 上建远程仓库 
   2) 把远程仓库克隆到本地
        >git clone 地址
            ==> git clone https://gitee.com/fangyiguo/ssm-blog.git
           会把远程仓库,克隆到本地

        >git remote -v //移除和远程仓库的关联
                        origin  https://gitee.com/fangyiguo/ssm-blog.git (fetch)
                        origin  https://gitee.com/fangyiguo/ssm-blog.git (push)

              >git remote add origin  https://gitee.com/fangyiguo/ssm-blog.git  //添加和远程仓库的关联


   3) 在克隆下来的仓库上进行开发
        >git status 查看
        >git add  .  提到暂存区
        >git commit -m "提示信息"  提到历史区

        >git push origin master  //master 指的是仓库的master分支   (有可能要输入账号和密码,是码云的登录账号和密码)

        >git pull origin master  //从远程仓库拉取内容到本地


   冲突的问题
       两个用户修改了同一个文件, 在互相提交和拉取的时候可能产生冲突
       解决: 把冲突的文件修改正确以后,再提交
全部评论

相关推荐

06-27 12:54
已编辑
门头沟学院 Java
累了,讲讲我的大学经历吧,目前在家待业。我是一个二本院校软件工程专业。最开始选专业是觉得计算机感兴趣,所以选择了他。本人学习计算机是从大二暑假结束开始的,也就是大三开始。当时每天学习,我个人认为Java以及是我生活的一部分了,就这样持续学习了一年半,来到了大四上学期末,大概是在12月中旬,我终于找的到了一家上海中厂的实习,但我发现实习生的工作很枯燥,公司分配的活也不多,大多时间也是自己在自学。就这样我秋招末才找到实习。时间来到了3月中旬,公司说我可以转正,但是转正工资只有7000,不过很稳定,不加班,双休,因为要回学校参加答辩了,同时当时也是心高气傲,认为可以找到更好的,所以放弃了转正机会,回学校准备论文。准备论文期间就也没有投递简历。然后时间来到了5月中旬,这时春招基本也结束了,然后我开始投递简历,期间只是约到了几家下场面试。工资也只有6-7k,到现在我不知道该怎么办了。已经没有当初学习的心劲了,好累呀,但是又不知道该干什么去。在家就是打游戏,boss简历投一投。每天日重一次。26秋招都说是针对26届的人,25怎么办。我好绝望。要不要参加考公、考研、央国企这些的。有没有大佬可以帮帮我。为什么感觉别人找工作都是顺其自然的事情,我感觉自己每一步都在艰难追赶。八股文背了又忘背了又忘,我每次都花很长时间去理解他,可是现在感觉八股、项目都忘完了。真的已经没有力气再去学习了。图片是我的简历,有没有大哥可以指正一下,或者说我应该走哪条路,有点不想在找工作了。
码客明:太累了就休息一下兄弟,人生不会完蛋的
如果实习可以转正,你会不...
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 16:15
我应届生,去年10月份开始在这家公司实习,到今年10月份正好一年想(实习+试用期),在想要不要提前9月份就离职,这样好找工作些,但又差一个月满一年,又怕10月份国庆回来离职,容易错过了下半年的金九银十,到年底容易gap到年后
小破站_程序员YT:说这家公司不好吧,你干了快一年 说这家公司好吧,你刚毕业就想跑路说你不懂行情吧,你怕错过金九银十说 你懂行情吧,校招阶段在实习,毕业社招想换工作 哥们,我该怎么劝你留下来呢
应届生,你找到工作了吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务