/git_command_test

git 命令练习

Primary LanguageObjective-C

git 命令的练习

git status: 查看状态

撤销工作区的修改(还没有add)

git restore <fileName> 
git checkout <fileName> 或 git checkout -- <fileName>

将暂存区回退到工作区(已经add但未commit)
git restore --staged <file-name>
git reset --hard HEAD <file-name>

如果已经commit到了本地分支还没有push到远程仓库可以回退到前一版本
git reset --hard HEAD~ 
或指定回退到具体某一版本
git reset --hard <commit>


切换并创建分支
git switch -c <branch-name>
git checkout -b <branch-name>

切换分支
git switch <branch-name>
git checkout <branch-name>

查看分支
git branch -a 查看所有分支
git branch -r 查看远程分支
git branch -l 查看本地分支
 
删除分支
git checkout -d <branch-name>

强制删除分支
git checkout -D <branch-name>

合并分支
git merge <branch-name> 快速合并模式,合并后看不出来曾经做过合并
git merge <branch-name> --no-ff -m '描述' 普通模式合并,合并后的历史有分支,能看出来曾经做过合并

暂存内容
git stash

zai main 分支上修复bug,想要合并到当前develop分支,可以用如下命令
git cherry-pick <commit> 将bug提交的修改复制到当前分支,避免重复劳动

建立本地分支和远程分支的关联
git branch --set-upstream <branch-name> origin/<branch-name>

查看远程库信息
git remote -v

在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name

查看所有标签
git tag
新建一个标签,默认为HEAD,也可以指定一个commit id;
git tag <tag-name>
指定标签信息
git tag -a <tagname> -m "blablabla..."
删除标签
git tag -d <tag-name>
推送某个标签到远程
git push origin <tag-name>
次性推送全部尚未推送到远程的本地标签
git push origin --tags
从远程删除标签
git push origin :refs/tags/<tag-name>