1. clone clone remote branch
# 克隆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. Submit Record
vim Readme.md
git status
git diff
git add Readme.md
git commit -m "This is a test on master branch."
git push
3. Branch Management
3.1 local branch management
# 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 remote branch management
# 查看远程分支
git branch -r
# 提交本地分支作为远程分支
git push origin dev:dev
# 如果:左边的分支为空,那么将删除:右边的远程的分支
git push origin :dev
# 拉取远程指定分支
git checkout -b release origin/release
The difference between the branch and 4. tag
4.1 tag milestone
- 静态、只读、稳定版本
# 创建命令格式
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 new journey
- 动态、向前走、新功能开发
a. Common query command 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 [email protected] :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