初始化配置
git config --global user.name “XXX"
git config --global user.email “XXXX"
设置大小写敏感
git config core.ignorecase false
生成密钥
ssh-keygen -t rsa -C “your_email”
将远端代码clone到本地目录
git clone <远端git> <本地目录>
提交修改
git add <文件> // 将有修改的文件添加到本地缓存中 git add . 是添加所有修改
git commit -m "本次修改信息" // 提交本次修改,一般是在git add之后操作
git reset . // 撤销add
git rm --cached . // 撤销add
切换分支
git checkout <branch_name>
以当前分支为蓝本新建分支并切换到新分支
git checkout -b <branch_name>
当前分支合并其他分支
git merge <branch_name>
远端新建分支,其实就是将本地分支推送至远端
git push origin <local_branch_name>:<remote_branch_name>
删除远端分支,其实就是推送了一个空的分支到远端覆盖了原来的远端分支
git push origin :<remote_branch_name>
从远端拉取分支,并建立对应关系
git checkout -b <local_branch_name> origin/<remote_branch_name>
// 或者
git branch —track <local_branch_name> origin/<remote_branch_name>
本地已经存在的分支和远端分支建立对应关系
git branch —set-upstream <local_branch_name> origin/<remote_branch_name>
添加远端库
git remote add <远端库代称> <远端库地址>
git clone <远端库地址> <目录> //不需要git init
回滚到某一个提交版本
git reset --hard/soft <commit_id> // 回滚到某一个版本
git reset --hard/soft HEAD~<num> // 回滚num个提交
git revert <merge_commit_id> -m number // 撤销某一次merge
强制远端覆盖本地
git fetch --all
git reset --hard origin/<remote_branch_name>
提交日志查看方式
git log -p 每一次提交具体差异
git log —stat 显示文件修改差异,没显示具体修改
git log —graph 树形状提交记录,可查看分支合并信息
git pull —rebase有冲突后,解决冲突,使用 git add .然后使用git rebase --continue
切换到某个分支,将其他分支的某次提交应用到该分支
git checkout <branch_name>
git cherry-pick <commit id>
前者表示把到之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;后者表示把到之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
git cherry-pick <start-commit-id>..<end-commit-id>
git cherry-pick <start-commit-id>^..<end-commit-id>
新建tag
git tag <tag_name> //轻量标签
git tag -a <tag_name> -m "tag_msg" // 附注标签
git tag -a <tag_name> <commint_id> // 给某次提交添加标签
删除tag
git tag -d <tag_name>
查看tag
git tag // 查看所有tag
git show <tag_name> // 查看某条tag
提交到远端
git push origin <tag_name> // 将某个tag提交到远端
git push origin –tags // 将所有tag提交到远端
branch相关指令
git branch -d <branch_name> // 删除某个分支
git branch -D <branch_name> // 强制删除某个分支
git branch -avv // 查看本地分支与远端分支关系,并且显示分支最新一次提交信息
git remote show origin // 查看远端分支间关系