1. clone克隆远程分支
# 克隆Master分支
git https://github.com/hunkjun/learngit.git
# 克隆指定分支
git clone -b test https://github.com/hunkjun/learngit.git
# (远程有release分支)由master切换release并拉取远程代码
git checkout -b release
git branch --set-upstream-to=origin/release release
git pull
# 远程没有release分支
git checkout -b release
git push origin release:release
2. 提交记录
vim Readme.md
git status
git diff
git add Readme.md
git commit -m "This is a test on master branch."
git push
3. 分支管理
3.1 本地分支管理
# git branch dev && git checkout dev
git checkout -b dev
# 查看
git branch
# 修改并提交
vim Readme.md
git add Readme.md
git commit -m "This is a test on dev branch."
# 合并 将dev的修改的内容合并到master上;
git checkout master
git merge dev
# 删除dev
git branch -d dev
3.2 远程分支管理
# 查看远程分支
git branch -r
# 提交本地分支作为远程分支
git push origin dev:dev
# 如果:左边的分支为空,那么将删除:右边的远程的分支
git push origin :dev
# 拉取远程指定分支
git checkout -b release origin/release
4. tag与branch的区别
4.1 tag 里程碑
- 静态、只读、稳定版本
# 创建命令格式
git tag -a v1.1.0 -m "修复了一下Bug one."
# 查看
git tag
# commit 提供的是一些字符串, tag是版本号v1.2.0
# 默认tag是打在commit上面,如果忘记打tag,可以查看历史打
git log --pretty=online --abbrev-commit
git tag v0.0.5 f432556c
# 查看tag信息
git show v0.0.5
# 删除
git tag -d v0.0.5
# 推送到远程
git push origin v0.0.5
4.2 branch 新的征程
- 动态、向前走、新功能开发
a. 常用git查询命令
# a.1 获取最后一次提交记录
git log --oneline -1 --pretty=format:"%h - %an, %ar : %s"
# a.1 查看远程仓库命令
git remote -v
# a.2 修改远程仓库命令
git remote set-url origin git@inf.aaa.com:infra_prod/aadyn-dns.git
# a.3 提交一个空
git commit --allow-empty -m "test empty"
# a.4 开启一个分支,修改文档,推送远程,远程合并
git pull # master
xxxxx
git add xxx.md
git commit -m "update xxx.md"
git push --set-upstream origin hcj # hcj