一、基础操作:

克隆/签出 远程代码到本地
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^)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
方式2:
打包覆盖(服务器没有git)
代码包上传服务器,解压覆盖
本地:
$ scp xxx.tar.gz root@xxx:/data/www/
或 用可是化工具 安装lrzsz使用 $ rz -be 上传

服务器
$ tar xvf xxx.tar.gz
$ \cp -rf xxx/ xx/
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Think it, do it.