git 指令
git clone <仓库地址> //克隆一个仓库
git pull //从远端仓库下载最新代码与本地合并(注意:如果你们提交顺序有差异会自动添加一个分叉)
git status //查看修改文件
git diff //查看修改的情况
git add -A //-A表示全部提交 到本地库
git commit -m "add algorithm for bin" //提交到本地 "提交说明"
git commit --amend //git commit -m 提交之后,发现-m的说明文字写的有问题,想要重新写一次,也就是想撤销上次的提交动作,重新提交一次,这个时候可以用命令 git commit --amend;前提是没有push.
git commit --amend 重新提交是在日志看不到操作记录的
git commit -m "template commit"
git push //推送到 git 服务器
git push -f //强制把本地代码覆盖到 git 服务器(慎用)
git config --global user.name "" 配置用户名
git config --global user.email "" 配置邮箱
git config --global credential.helper store 记住密码
git reset --hard 删除本地修改记录(不要轻易使用)
git fetch -all
git reset --hard origin/master //重置(不保留本地提交 - 慎用)
git reset --soft HEAD^ //重置(保留本地提交)
这样就成功的撤销了你的commit
注意,仅仅是撤回commit操作,您写的代码仍然保留。
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
--hard
删除工作空间改动代码,撤销commit,撤销git add .
git stash 暂存本地修改
git stash list 查看本地暂存列表
git stash pop stash[0] 取出最后一次提交,如果制定stash号,则取出制定id的提交
git stash drop stash{0} 删除指定暂存
git checkout -b test 新建test分支
git rebase / git cherry-pick
git rebase [startpoint] [endpoint] --onto [branchName] 将分支1的起始点提交,到终止点提交,合并得到分支2,区间左开右闭。
git rebase 90bc0045b^ 5de0da9f2 --onto master // 将当前分支的(90bc0045b,5de0da9f2】提交合并到master分支。
git cherry-pick <commitHash> git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。
上面命令就会将指定的提交commitHash,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。
git branch -D <分支名> //删除分支
提交记录不分叉的方法
这种一条直线, 搞以前一定要备份
方法一
git stash //[暂存]本地修改
git pull //从 git 服务器[拉取]代码
git stash pop stash[0] //取出[暂存]
git add -A //-A表示全部提交到本地仓库
git commit -m "add algorithm for bin" //提交到本地 "提交说明"
git push //推送到 git 服务器
方法二
git add -A //-A表示全部提交到本地仓库
git commit -m "add algorithm for bin" //提交到本地 "提交说明"
git pull //从 git 服务器[拉取]代码
git rebase //拉取的代码与本地已提交的合并(如果文件冲突会失败)
git push //推送到 git 服务器
git 中删除 release/tag
找到本地目录下
cd: [本地仓目录]
//创建 tag
git tag [tag]
git push origin [tag]
//删除 tag
git tag -d [tag]
git push origin :[tag]
git pull 后出现分叉处理方法
本地提交后执行命令
git rebase
如果第一步出现文件冲突,此时处于rebasing 状态中
解决冲突后再执行 git rebase --continue
如果没有提示成功则再执行 git rebase --continue (这是第二次)
如果上面的方法还是无法解决,就在新的目录下重新 git clone
这个仓库,然后把修改的覆盖过来,再提交。只要没有git push 都可以处理冲突。