Git 基本操作、常用命令、代码打包 及 代码发布

xingyun86 2018-5-23 2943

一、基础操作:

  • 克隆/签出 远程代码到本地

  • 1.签出、拉取、提交代码流程

    git clone https://git.xxx.com/xxx/xxx.git  签出代码(默认master分支)
  • 2.设置个人提交信息

    git config –global user.name ‘your name’ 提交代码显示名 
     git config –global user.email ‘your email’
  • 3.切换至开发分支dev

    git checkout [-b] dev    切换至开发分支dev(有dev分支时)
  • 4.分支与本地分支关联,免输 [origin dev] 直接使用命令 git pull、git push

    git branch –set-upstream-to=origin/dev dev  使用较新版本 
     git branch –set-upstream origin/dev dev    早期版本

     或 修改.git/config 增加一下对应关系
  • 5.代码提交

    git status 查看当前 变动 文件 
     git add . 当前所有改变 
     git add xxx.html ss/x.html 【具体文件】 
     git commit -m ‘备注信息’ 
     git pull [origin dev]   拉取新代码,有冲突解决,commit解决冲突版本 
     git push [origin dev]  推送本地提交到远程
  • Create a new repository

  • 创建一个新git远程项目

    mkdir xxx 
     cd xxx 
     git init 
     touch README.md 
     git add README.md 
     git commit -m “first commit” 
     git remote add origin git@git.xxx.cn:xx/bbc.git 
     git push -u origin master
  • Push an existing Git repository

  • 在已有内容项目上切换远程

    cd existing_git_repo 
     git remote add origin git@git.xxx.cn:xxx/bbc.git
  • 免输用户名、密码

  • 【https方式】git地址是https:https://username:password@git.xx.com/xxx.git

    git remote set-url origin https://username:password@git.xx.com/xxx.git
  • 【ssh方式】git地址是ssh:ssh://git@git.xxx.com/xxx/xxx.git

    ssh-keygen -C rsa 
     Enter.. 
     Enter.. 
     Enter.. 
     cat ~/.ssh/id_rsa.pub 
     copy 到 git.xxx 控制面板 上 保存


二、常用命令使用

$ git init  初始化文件夹为一个git项目目录
$ git clone https://git.xxx.com/xxx/xxx.git  签出代码

/* Git global setup 全局参数设置(初始化新项目时)*/
$ git config --global user.name "show name"
$ git config --global user.email "email"
$ git remote -v 查看远程分支
$ git remote set-url origin https://xxxx.git 设置/修改git远程地址
$ git remote rm origin 删除远程地址
$ git remote add origin https://xxxx.git   添加远程地址
$ git branch [-r][-v]查看本地分支
$ git checkout [-b] dev 切换[新]分支
$ git checkout sss.html 还原本地修改,到最新版本
$ git status 查看文件变化列表
$ git diff 查看当前版本所有修改
$ git diff xxx.html 查看具体某文件修改
$ git add [.][xxx.ss yyy.ss] 添加到提交版本
$ git reset xxx.ss 还原 git add 的文件到不加入提交列表中
$ git reset --hard [62ecb3] 把所有文件修改还原成[指定,默认最新]版本
$ git commit -m '备注' 提交本地
$ git pull [origin dev]  拉取远程代码到本地
$ git fetch  将本地库所关联的远程库的commit id更新至最新
$ git push [-u] [origin dev]  推送本地[新分支]commits到远程
$ git log 查看日志列表commit列表(包括commit未Push的)
$ git log xxx.ss   查看某文件的提交版本
$ git log -p 查看日志版本文件修改内容
$ git show 62ecb3 [sss.xx]查看某版本[文件]改变内容
$ git stash 暂存文件
$ git stash pop 还原暂存文件
$ git merge dev 合并dev分支提交版本至当前分支
$ git cherry-pick 62ecb3   单独合并某分支某次特定提交到要合并的版本到master

/* 合并某个分支上的一系列commits到master */
$ git checkout -b newbranch 62ecb3  从有新提交的分支上基于某特定commit基础上创建一个新分支
$ git rebase --onto master 76cada^  选择特定要合并的commit到主分支

打包上线
git archive -o ../publish_packet/ec/pub_2017-12-25.zip HEAD 
$(git diff --name-only 4f88edfcc0872a1aed6186fd53df7751bd69bfe6^)

git pull 与 git fetch 区别 
这里写图片描述


三、代码打包

  • 方式一:

  • 命令打包  | 适用所有平台

    git archive -o ../publish_packet/pub_2017-12-25.zip HEAD $(git diff –name-only 4f88edfcc0872a1aed6186fd53df7751bd69bfe6^)
  • 方式二:

  • 可视化 TortoiseGit | 适用windows 
    - 项目目录鼠标右键菜单 TortoiseGit -> Show log -> 选中要打包的更新版本 鼠标右键->对比文件 -> 全选文件 右键Export -> 选择路径保存

  • 方式三:

  • SourceTree可视化 | 适用windows & mac 
    SourceTree配置自定义导出


  • 四、代码发布

  • 方式1:

  • 直接使用git命令操作(前提,服务器有使用git)

本地$ git checkout master$ git merge dev$ git push

服务器$ git pull
  • 方式2:

  • 打包覆盖(服务器没有git)

代码包上传服务器,解压覆盖
本地:$ scp xxx.tar.gz root@xxx:/data/www/或 用可是化工具 安装lrzsz使用 $ rz -be 上传

服务器$ tar xvf xxx.tar.gz$ \cp -rf xxx/ xx/


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回