1. 安装配置
1.1 把你介绍给git
git config --global user.name "your name"
git config --global user.email "your email"
1.2 生成公私钥
ssh-keygen -t rsa -C "your email"
会在~/.ssh/id_rsa.pub文件中生成公钥,把公钥配置到代码托管平台
2. git add&commit
2.1 git add <files> 把工作区文件暂存
2.2 git commit -m "message" 把暂存区内容提交到历史提交区
2.3 git commit --amend 修改最后一次提交注释
2.4 git commit --allow-empty -m "message" 做一次空提交
3. git diff
3.1 git diff 查看工作区与暂存区的差别
3.2 git diff --staged 查看暂存区与历史提交区的差别
3.3 git diff HEAD 查看工作区与历史提交区的差别
4. git log&tips
4.1 git log 查看与定制化
4.2 git cat-file -p <commit> 查看存储
4.3 git show <commit> 查看某一次提交的具体修改内容
4.4 git blame <file> 追溯某个文件每一行由谁最后提交
4.5 git log --color --graph --pretty=format:'%C(white)%h%Creset -%d %C(green)%s%Creset <%C(red)%an%Creset> (%C(blue)%cd%Creset)' --date='format:%Y-%m-%d %H:%M' --abbrev-commit
5. git checkout&reset
5.1 git checkout -- <files> 用暂存区的文件重置工作区
5.2 git checkout HEAD -- <files> 用历史提交区的文件重置暂存区和工作区
5.3 git checkout <branch_name> 切换分支
5.4 git reset HEAD <files> 用历史提交区的文件重置暂存区
5.5 git reset --soft <commit> 用某次提交重置HEAD指向
5.6 git reset --mixed <commit> 用某次提交重置HEAD指向,并重置暂存区,默认
5.7 git reset --hard <commit> 用某次提交重置HEAD指向,并重置暂存区和工作区
6. git branch&merge
6.1 git branch <branch_name> <remote_branch_name> 查看分支或基于远程分支新建本地分支,后面参数可选
6.2 git checkout -b <branch_name> 新建并切换分支
6.3 git merge master <branch_name> 把分支合并到master分支
6.4 git merge 冲突解决
6.5 git branch -a 查看所有分支,包括本地和远程分支
6.6 git branch -vv 查看本地分支关联的远程分支
6.7 git push origin <branch_name> 把本地分支推送到远程
6.8 git branch --set-upstream-to=origin/vsp vsp 设置本地vsp分支默认关联远程vsp分支
6.9 git branch --unset-upstream vsp 本地vsp分支取消关联远程分支
6.10 git checkout -b branch_name origin/remote_branch_name 基于远程分支创建本地分支,并自动关联
6.11 git push origin :vsp 删除远程vsp分支
6.12 git branch -r -d origin/vsp 删除本地看到的远程分支,而不真正删除远程
6.13 git branch -d <branch_name> 删除本地分支
6.14 git branch -D <branch_name> 强力删除本地分支
7. git stash
7.1 git stash 把工作区修改暂存到stash
7.2 git stash apply/drop 把stash暂存应用到工作区
7.3 git stash pop 把stash暂存应用到工作区并drop
8. git fetch&pull&push
8.1 git fetch 获取远程到本地,但不合并
8.2 git pull 拉取远程到本地,且合并
8.3 git push origin master --force 强行把本地master分支推送到远程
8.4 git push origin :vsp 删除远程vsp分支
9. git remote
9.1 git remote -v 查看当前仓库关联的远程仓库列表
9.2 git remote add vsp git@...huawei.com:HVS/VSP.git 增加关联一个远程仓库,并命名为vsp
9.3 git pull vsp master 拉取关联的vsp仓库的master分支,合并到当前分支
9.4 git remote remove vsp 删除关联的vsp仓库
1.1 把你介绍给git
git config --global user.name "your name"
git config --global user.email "your email"
1.2 生成公私钥
ssh-keygen -t rsa -C "your email"
会在~/.ssh/id_rsa.pub文件中生成公钥,把公钥配置到代码托管平台
2. git add&commit
2.1 git add <files> 把工作区文件暂存
2.2 git commit -m "message" 把暂存区内容提交到历史提交区
2.3 git commit --amend 修改最后一次提交注释
2.4 git commit --allow-empty -m "message" 做一次空提交
3. git diff
3.1 git diff 查看工作区与暂存区的差别
3.2 git diff --staged 查看暂存区与历史提交区的差别
3.3 git diff HEAD 查看工作区与历史提交区的差别
4. git log&tips
4.1 git log 查看与定制化
4.2 git cat-file -p <commit> 查看存储
4.3 git show <commit> 查看某一次提交的具体修改内容
4.4 git blame <file> 追溯某个文件每一行由谁最后提交
4.5 git log --color --graph --pretty=format:'%C(white)%h%Creset -%d %C(green)%s%Creset <%C(red)%an%Creset> (%C(blue)%cd%Creset)' --date='format:%Y-%m-%d %H:%M' --abbrev-commit
5. git checkout&reset
5.1 git checkout -- <files> 用暂存区的文件重置工作区
5.2 git checkout HEAD -- <files> 用历史提交区的文件重置暂存区和工作区
5.3 git checkout <branch_name> 切换分支
5.4 git reset HEAD <files> 用历史提交区的文件重置暂存区
5.5 git reset --soft <commit> 用某次提交重置HEAD指向
5.6 git reset --mixed <commit> 用某次提交重置HEAD指向,并重置暂存区,默认
5.7 git reset --hard <commit> 用某次提交重置HEAD指向,并重置暂存区和工作区
6. git branch&merge
6.1 git branch <branch_name> <remote_branch_name> 查看分支或基于远程分支新建本地分支,后面参数可选
6.2 git checkout -b <branch_name> 新建并切换分支
6.3 git merge master <branch_name> 把分支合并到master分支
6.4 git merge 冲突解决
6.5 git branch -a 查看所有分支,包括本地和远程分支
6.6 git branch -vv 查看本地分支关联的远程分支
6.7 git push origin <branch_name> 把本地分支推送到远程
6.8 git branch --set-upstream-to=origin/vsp vsp 设置本地vsp分支默认关联远程vsp分支
6.9 git branch --unset-upstream vsp 本地vsp分支取消关联远程分支
6.10 git checkout -b branch_name origin/remote_branch_name 基于远程分支创建本地分支,并自动关联
6.11 git push origin :vsp 删除远程vsp分支
6.12 git branch -r -d origin/vsp 删除本地看到的远程分支,而不真正删除远程
6.13 git branch -d <branch_name> 删除本地分支
6.14 git branch -D <branch_name> 强力删除本地分支
7. git stash
7.1 git stash 把工作区修改暂存到stash
7.2 git stash apply/drop 把stash暂存应用到工作区
7.3 git stash pop 把stash暂存应用到工作区并drop
8. git fetch&pull&push
8.1 git fetch 获取远程到本地,但不合并
8.2 git pull 拉取远程到本地,且合并
8.3 git push origin master --force 强行把本地master分支推送到远程
8.4 git push origin :vsp 删除远程vsp分支
9. git remote
9.1 git remote -v 查看当前仓库关联的远程仓库列表
9.2 git remote add vsp git@...huawei.com:HVS/VSP.git 增加关联一个远程仓库,并命名为vsp
9.3 git pull vsp master 拉取关联的vsp仓库的master分支,合并到当前分支
9.4 git remote remove vsp 删除关联的vsp仓库