zoukankan      html  css  js  c++  java
  • git 的日常使用命令

    全视图了解:看完下面内容,再回头看,会有不一样的风景!

    1、明白git的四个区

    • Workspace(工作区):平时我们写代码的地方。
    • Index(暂存区):写完代码后让它变成的待提交的状态。
    • Repository(本地仓库):提交暂存区的代码到这里,记录进入代码本地管理。
    • Remote(远程仓库):将本地仓库的修改的代码提交到远程,可以供远程协作的人下载。

    下图(网上扣出来的很错),可以清晰的表示各区间的联系:

    2、 代码提交

          远程代码clone到本地之前的事都不说(什么安装git ,怎么clone),文件到本地后,进行修改后,以下几个步骤可以提交到远程库。如下

          git add .   将工作区修改过的代码全部提交到 暂存区
          git commit -m "first commit"   将暂存区的代码提交到 本地仓库
          git remote add origin    远程仓库地址
          git push -u origin master 将 本地的仓库 的代码提交到 远程仓库

          后面两个命令:前者适用于代码存在于远程仓库(Remote)的情况。后者适用于本地仓库(Repository)初次上传到远程仓库的情况。

      上面注要是讲直接 披着提交到 远程仓库里面(也就是远程仓库origin/master主分支上)

      以上命令细解:

       ·1、修改代码后,将代码提交到暂存区(Index)
        git add . :添加当前目录所有的文件都进入暂存区(记得后面有一个点,不写点,可以用‘-A’代替)。
        git add <dir>:添加指定目录所有的文件(目录路径)都进入暂存区。
        git add <file1>:添加指定文件(文件路径 )进入暂存区。

        2、提交到暂存区后,怎么看你修改过那些文件?

          git status  可查看所有被修改过的文件,还可以查出有冲突的文件,已提交到本地仓库的不会展示。

       3、怎么查看修改了那些文件的具体修改了什么?

          git diff  查看所以修改过的文件修改的内容

          git diff  <file>  查看这个文件修改的内容  。<file>指 要查看的文件的路径

      4、将暂存区文件提交到本地仓库

          git commit -m <message>:将暂存区的文件上传到本地仓库,<message>的位置填写本次提交修改的内容和一些注释。

      5、将本地仓库提交到远程仓库

        git push <remote><branch>:将本地仓库新记录提交到远程仓库,<remote>位置填写远程仓库名称(没有改的话,默认为"origin"),<branch>填写远程仓库需要提交的分支。

      总结: 一般的话提的代码不会直接提交到远程库的master主分支上,都会在本地建一个分支 提交到 远程分支上,再合入到主分支上(master),所以 步骤一般是这样的:

          git  clone 远程地址;

          cd  项目目录     这里就应该可以看到是在master主分支上;  

          git  checkout -b  <name> 建一个分支并切换到该分支上,<name>分支名

          git  add -A 或 git add .      修改代码后,将修改的内容提交到 暂存区

          git commit -m"写你修改内容相关的说明文"     将暂存区的内容提交到本地库

          git push origin <name>   将本地库的内容提交到远程库里  <name>是该分支名

       ·    走完了以上几步,大家基本上就学会提交代码了。

          当然有的人可以还会问,在一个分支个提交了代码到远程分支上,我再修改了内容怎么做了?

           很简单: 重复后三个步骤就行了,会全部提交到同一远程分支上,这个和你一次提交所有代码和把所有代码分几次提交是一个样的。
        
      

    3、多人协作做一个项目。

       1、拉远程库到本地库中(如你本来克隆了一个库在本地,在这之后远程库中有人合入了代码进去,你可以pull远程代码到本地,使你的本地代码和远程的代码一样,当然这时要切换上master主支上)

        git pull <remote><branch>:从远程仓库拉取代码到本地仓库,<remote>位置填写远程仓库名称,<branch>填写拉取远程仓库的分支。

        git pull  将所以远程分支拉入本地仓库

        说明: 这个用到pull是因为要用到远程相关的代码,不要在已经修改的分支上pull,要切换上master分支上再pull,你要做新的改动,可以再建一个分支,不要在以前的分支上再做了,因为那上面没有pull 的代码

      

        

       2、分支的功能:从同一份稳定代码拉出有相同代码的分支,每个人在自己的分支上开发提交代码,不会互相打扰,完成后再进行代码的合并。  

          git branch:列出所有本地分支
          git branch -r:列出所有远程分支
          git branch -a:列出所有本地分支和远程分支

          git branch <branch-name>:新建一个分支,但依然停留在当前分支,<branch-name>为新建的分支名
          git checkout -b <branch-name>:新建一个分支,并切换到该分支,<branch-name>为新建的分支名
          git checkout <branch-name>:切换到指定分支,并更新工作区,<branch-name>为指定的分支名
          git branch -d <branch-name>:删除分支,<branch-name>为指定的分支名
          git push origin --delete <branch-name>:删除远程分支,<branch-name>为指定的分支名
          git push origin <branch-name>:将当前分支上传到远程仓库,<branch-name>为新建的远程分支名
     
        分支命令很多  基本常用的就2,3个 ,git checkout -b <branch-name> 这是最常用的   还一个查看分支 git branch 
     
       3、合并分支
          git merge <branch-name>:合并指定分支到当前分支,<branch-name>是指定分支,将该分支代码合并到当前分支。
     
          这个一般不会用,常用了查看冲突上,
          如发现和master分支有冲突,怎么解决冲突?
          现在本分支上切换到 master 分支, git pull 一下,现切换上刚修改的分支上,git merge master  合并完成后,分支会变成 xxxx|MERGING(”xxxx“指分支名) 状态,再用 git status 查看一下是那个文件冲  突。再找到相应文件,修改冲突的地方,再提交一次(进行代码提交换的后三步骤),xxxx|MERGING 状态就会变以分支名了(恢复到正常状态)。
     
    最后附一张 常用的Git命令表非常实用
     
  • 相关阅读:
    html5表单pattern属性配合正则验证电话和手机号码
    关于a href传参的中文乱码问题
    jq点击事件改变全局变量
    a标签带参页面跳转并在跳转页面接收参数
    json字段不存在,手动添加键值对
    各种类型相互转换
    Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value '�й���׼ʱ��' is unrecognized or r
    微信公众号之微信登录失败,redirect_uri域名与后台配置不一致,错误代码10003
    前后端数据json交换的问题
    jQuery EasyUI 的editor组件使用
  • 原文地址:https://www.cnblogs.com/flxy-1028/p/8120104.html
Copyright © 2011-2022 走看看