zoukankan      html  css  js  c++  java
  • GIT的方法,重要

    git remote 命令用来管理远程仓库

    git remote add 添加远程仓库(实质上是添加远程仓库 URL 的别名)

    git remote add origin https://github.com/xiaohigh/test2.git

    git push

    git push 将本地仓库的某个分支推送到远程仓库

    git push -u origin master
    • -u 关联(第一次加 u 之后建立分支链接, 后续可以直接使用 git push 进行提交)

    • origin 远程仓库的别名(可以推送小名,也可以推送https地址或者ssh地址)

    • master 本地的分支名

    • git remote -v   查看与github 建立的仓库连接地址

    clone 与 pull

    • clone 是将整个仓库的内容都下载回来(第一次),下载到本地master,  创建本地分支dev,远端代码也会保存在分支dev中

    • pull 是对指定的分支内容进行拉取(以后每次都可以pull),在本地master拉取远端代码后, 分支dev没有出现更新的代码, 需要在分支dev中, git merge master合并本地master代码

    • 关于克隆. 一定要在一个非Git仓库的文件夹下进行,不然造成命令失效

    git restore --staged 将暂存区的文件移除
    git restore index.txt 将工作区修改的文件撤销

    git remote -v   查看github 的关联地址

    将远端仓库的https地址或者ssh地址的地址添加个小名 ; git remote add nicen git@github.com:h5c3-team/zhuzhi.git  或者 git remote add nicen   https://github.com/xiaohigh/test.git

    git commit -m '注释内容'  ,必须是英文的引号

     

    关于分支污染情况

    情况一;master之前提交过1.txt, 然后在创建dev分支, 那么此时dev会有1.txt文件,正常情况
    情况二; master中,已经创建dev分支,然后在master中创建了一个文件2.txt,没有提交本地仓库 
    那么此时dev中也会有2.txt文件,此时污染了分支dev(如果msater提交了本地仓库,dev中就不会有2.txt了,就不会污染了)

    每次在切换分支前,需要提交一下当前分支

    如果当前分支修改文件,每次在切换分支前,需要提交一下当前分支,因为当前分支文件没提交,会自动在其他分支也会产生.
    如果当前分支提交了,则其他的分支就不会产生修改的文件,则各个分支互相独立

    关于冲突问题

    成员一从远端master分支pull拉取了代码到本地master,切换到了分支dev1,合并代码到分支dev1(git  merge master),修改了1.html,然后提交(add , commit)到本地仓库,
    合并到本地maser(git merge dev1), 然后在提交下 add, commit ,push推送到远端仓库了.

    成员二,从远端拉取了代码到本地master,切换到了主分支dev2,合并代码到分支dev2(git  merge master),修改了1.html,然后提交到本地仓库,
    合并到本地maser,此时需要跟新pull远端代码,  但是此时产生冲突,   
    解决冲突方法,如果分支没用的修改代码可以删除,然后 add和commit,  如果有用(两者修改的),直接add和commit,然后push推送到远端仓库,冲突解决了

    成员协作

    成员协作,创建一个协作远端仓库(需要给成员write权限),成员一git push origin master(将代码推送到远端),然后
    成员二要获取远端代码,git clone https://github.com/xiaohigh/test2.git (克隆仓库的地址)
    然后他修改了代码并git push到远端后,如果成员一以要获取更新的代码, git pull origin master (拉取远端的代码)

    每次push代码到远端,都先pull下

    如果成员一修改了文件,推送到远端,而成员二,也修改了文件和提交本地仓库了,此时push不了远端,会报错,此时
    成员二需要将远端的文件pull下,将远端的代码更新到本地,然后再push下,推到远端
    (pull后,会进入vim模式,直接:wq 保存退出即可)

    关于https地址推送,git有缓存密码机制,但是有缺陷

    ssh地址推送,是不需要密码的,需要在github配置下

    如何将之前clone(https)的方式改成ssh方式提交呢(可以push时不需要密码)

    1. 获取本地和远端连接的地址             git remote -v
    2. 将ssh的地址添加个别名nicen,            git remote add nicen git@github.com:h5c3-team/zhuzhi.git
    3.然后第一次本地修改代码后,push到远端             git push -u  nicen  master(此时是免密推送)
    4.然后第二次本地修改代码后,push到远端            git push (即可),一般不推荐简写  git push  nicen master 

    clone远端仓库代码的两种方式

    两种方式clone远端代码,
    第一种是,git clone  https://github.com/h5c3-team/zhuzhi.git   index      (  https地址,后面可以跟个参数,文件夹名称),需要输入账号密码(git有密码缓存机制,也不用输入密码,但是push远端需要密码)

    从git远端下载分支代码

    git clone -b branchname https://github.com/licanhui2/growup.git
    命令格式如上,-b后面接分支名,最后是git地址。


    第二种, git  clone   git@github.com:h5c3-team/zhuzhi.git   item         (ssh地址,后面可跟参数,文件夹名称),需要配置免密登录,以后拉取代码免密

    git工作流程

    第一次:
    1.得到 Git 远程仓库的地址和账号密码,将代码克隆到本地(地址换成自己的),              git clone https://github.com/xiaohigh/test.git
    2.切换分支dev,               ( 切换分支前需要master主分支先commit下, 以免一些文件会污染分支)  ,git checkout -b dev(创建并切换到分支), 然后本地分支和远程分支关联
    3.开发代码
    4.分支dev本地提交,           git add -A(添加到暂存区)     git commit -m '注释内容'(提交到本地仓库)
    5.合并到主分支              git checkout master(切换到主分支)     git merge dev(将分支dev合并到主分支)
    6.更新本地代码,         git pull origin master(如果不从远端跟新代码,直接push会报错)
    7.提交代码,推送到远端分支          git push (将本地仓库代码推送到远端仓库), 但是不推荐简写, git push  origin master,  或者推送到远端分支, git push origin 分支名

    第二次;
    1. 更新代码,        git pull  origin master(拉取远端代码), 在本地master拉取
    2. 切换分支,          (       切换分支前需要master主分支先commit下, 以免一些文件会污染分支)git checkout dev,合并主分支最新的代码 git  merge master
    3. 开发功能
    4. 提交                      git add -A(添加到暂存区)     git commit -m '注释内容'(提交到本地仓库)
    5. 合并分支 ,            git checkout master,    git merge xiaohigh
    6. 更新代码              git pull (如果不从远端跟新代码,直接push会报错)
    7. 提交代码,推送到远端分支              git push (将本地仓库代码推送到远端仓库)  但是不推荐简写, git push  origin master, 或者推送到远端分支, git push origin 分支名

     然后gitbug的远端各个分支合并到master, 然后本地master再去拉取远端master分支的最新代码

  • 相关阅读:
    H265播放器EasyPlayer-RTSP WIN版播放器D3D和GDI两种渲染模式效果比较
    笛卡尔树复习笔记
    康托の复习笔记
    django rest unique 和UniqueTogether 检验
    代码扫描tool sonar
    await async axios
    httprunner 实现文件上传
    vue 实现xmind 脑图 web 创建脑图何修改删除
    jsmind
    【CF1548E】Gregor and the Two Painters
  • 原文地址:https://www.cnblogs.com/fsg6/p/13043675.html
Copyright © 2011-2022 走看看