目前我用的比较多的git指令
git clone -b [branch-name]: 拉取远程指定分支代码
git status: 查看工作区修改状态
在将修改添加进暂存区的时候需要git add . 将修改记录添加到git中
git stash -m "message" push [file-list] : 添加暂存信息, 便于以后知道自己当初存了个啥
git stash list: 查看暂存区列表
git stash [push] [pop] [file-name,file-name1, file-name2...]: 暂存修改
git clear [index]: 清空暂存区, 清空指定
git暂存指定文件指令:git stash push file1 file2 file3 file4 ...(file1、file2、file3的路径为git status显示出来的路径)
后面stash@{0}: 里的 {0} 表示是暂存区中位置, 后面跟着是暂存信息, 通过-m添加message得到
git stash clear
git stash create [
git merge [branch-name]: 将branch-name指向的分支合并到当前分支
注意: 合并之前需要先更新另一个分支上的记录: git pull
如果不想新的修改影响到切换到的新分支, 需要stash暂存修改记录.
如果暂存之后想恢复的话可以git pop指定stash记录, 不过务必记得pop, 要不然stash存一堆东西不知道是啥
合并之后如果有冲突一定要解决冲突
如果不想因为merge影响其他分支的话, 可以git checkout -b branch-name创建一个新的分支, 然后在新的分支上进行合并, 处理不好分支的话那就直接把分支删了重新拉, 当然对于大佬来说肯定有好办法
注意: 合并代码一定要在本地合并然后验证一下合并结果没有问题之后再提MR, 虽然Gitlab, Github上会检查MR是否合理, 但是在本地验证通过的话想必会更好
git reset: 撤销本地commit
git撤销Commit:git reset --soft HEAD^
--soft:撤销commit, 但是 git add . 不撤销
--hard:撤销commit, 以及 git add . 恢复到上一次提交状态,会删除工作空间的代码,谨慎操作!!!
HEAD^:回退上一个commit,也可以写成HEAD~1,如果有多个commit要撤销,那么使用HEAD~N,再配合--soft或者--hard
如果使用git reset HEAD~N(或者HEAD^)--hard撤销commit记录时(--soft也适用),我反悔了怎么办? 可以通过git reflog [commit-id]
单纯使用git reflog时,可以查看当前所有动作(commit、checkout、reset、pull、push等)且会带着commit-id。
通过git reflog commit-id可以撤回当前reset的记录【三十天内有效】
git修改message:git commit --amend,会自动进入message编辑
git show commit_id:显示commit_id指向的提交记录信息
git branch -d branch-name : 删除分支(-D 强制删除)
git pull: 拉取远程仓库代码以更新本地代码
git rebase: 变基还不会用, 大佬教教我