实用的git命令总结
从接触git到现在也有一段时间了,记录一下趟过的坑和常用的命令操作,持续更新中~
- 新建仓库并与远程仓库关联
//本地新建文件夹并进入
git init
git remote add origin XXXX //远程仓库的地址
//如果远程仓库有文件,包括可能是新建仓库存在的readme
git pull --rebase origin master
- 最最最常用的git三连~
git add . //可以根据需要指定具体的文件或者文件夹
git commit -m"修改的内容"
git push
- 本地提交撤销
git reset --soft HEAD^ //取消上一次的commit
git reset --soft log_id //取消特定log的commit
git reset HEAD XXdirXX //取消不期望的git add文件或目录
- 本地新建分支并将修改提交到远程
git branch newbranch
git checkout newbranch
git add . //自己想要提交的修改
git commit -m"XXX" //自己想要提交的修改内容
git push
//注意,第一次新建分支最后一步提交到远程会出现错误, fatal:The current branch master has no upstream branch
//解决办法:git push -u origin newbranch,这种方法无需确保远程分支存在。不存在的话会自动创建该分支并与远程分支关联
- 合并最新主干到开发分支。在多人协作开发时,master分支有新的修改,本地开发分支在提交到master分支之前需要获取最新的master分支。
git reset --soft {commit} //如果已经有commit,需要reset
git add .
git stash save "XXX" //将新增的操作写入暂存区
checkout master
git pull origin master //保持本地的master分支与远程的master分支一致
git checkout dev //返回之前的开发分支
git rebase master //将最新的master分支合并到自己的开发分支上
git stash list // 查看之前的缓存内容
git stash pop stash@{id} //如果stash list只有一条则直接git stash pop即可
- 取消远程分支不希望的commit
git log //查找要重置的版本号
git reset --soft XXXXXXXXX //重置到当前版本,注意soft为在工作区保持之前的修改,否则XX版本之后的信息均会丢失!!
git push --force //强制更新远程仓库
- 修改当前分支上最近commit的作者信息
git commit --amend --author="username <userEmail>" //最简单地修改最近一次commit信息的方式
git push --force //如果这个commit已经被提交到远程,则在远程分支上也需要提交相应的修改