【学了就忘】Git操作 — 51.git reflog命令 - 简书
注意:1.远程分支要和本地分支同步,才能推送;
2.误上传文件之后,如日志文件,需要版本回退。否则会保存在.git的历史文件中,导致文件过大。
Git : 本地分支与远程分支建立关联_git 本地分支关联远程分支_Lakers2015的博客-优快云博客
# 拉取远程分支origin/branch到本地并创建一个新的关联分支 git checkout -b newbranch origin/branch
# 将本地分支上传到远端,同时关联newbranch和远端branch分支 git push --set-upstream origin newbranch:origin/branch
# 将本地newbranch分支与远端branch分支关联 git branch --set-upstream-to=origin/branch newbranch
git如何从某个分支的指定历史版本中创建新分支_相关技巧_脚本之家
git checkout -b 新分支名 版本号
删除远程分支如何删除本地和远程的 Git 分支_git 删除本地和远程分支_小虎AI实验室的博客-优快云博客
git push origin --delete feature-branch
拉取远程分支:
git checkout -b dev origin/dev
等价于
git branch dev origin/dev
git checkout dev
git checkout . 放弃所有修改,当前分支覆盖工作区 (未add)
git checkout master 切换分支
git reset HEAD . 已add 回退
git pull origin master --allow-unrelated-histories 后面参数代表不同库的同步
git remote add origin GitHub - yaoct/test 将本地库与远程库关联,然后可以git fetch,git pull origin dev
git remote remove origin
git clone -b dev git@git.csdn.com:benben/2015test.git clone 某一分支。
参考如何拉取git远程仓库的某个指定分支_benben的博客-优快云博客_git 拉取指定分支
git log --graph --pretty=oneline --abbrev-commit 查看日志
设置git push和git pull的默认分支:
git branch --set-upstream-to=origin/<远程分支> <本地分支>
更为简洁的方式是在push时,使用-u参数
git push -u origin <远程分支>
-u参数会在push的同时会指定当前分支的默认上游分支;
git stash 把临时修改存到某一地方
git stash pop , git stash apply 恢复
git push -u origin master -f 强制push
在git中,“push -u”的意思是将本地的分支版本上传到远程合并,并且记录push到远程分支的默认值;当添加“-u”参数时,表示下次继续push的这个远端分支的时候推送命令就可以简写成“git push”。
- 第一种如上图中的提示:
git push --set-upstream origin master
。其中的origin是你在clone远程代码时,git为你创建的指向这个远程代码库的标签,它指向repository。为了能清楚了解你要指向的repository,可以用命令git remote -v进行查看。master是你远程的branch,可以用git branch -a
查看所有分支,远程分支是红色的部分。然后确定好这两个值后,将值换掉即可。 - 另一种方法是:
git push -u origin master
。同样根据自己的需要,替换origin和master。
两个命令的区别是第一条命令是要保证你的远程分支存在,如果不存在,也就无法进行关联。而第二条指令即使远程没有你要关联的分支,它也会自动创建一个出来,以实现关联。
查看global参数
git config --global --list
设置global参数
git config --global user.name "yaoct"
删除global参数
git config --global --unset user.name
添加
git remote set-url origin "https://..."
清除gitignore中已上传的文件,
git rm --cached <file>从暂存区删除,保留工作区
git rm -r --cached .
git add .
git commit -m "Drop files from .gitignore"
回退上一版本
git reset --soft HEAD^
任意版本
git reset --hard 版本号
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add .
--hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。
git reflog : 看回退版本后的版本
git 撤销merging状态
git reset --hard HEAD
git 强制删除分支
git branch -D dev2
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存就好了。
在远程厂库新建一个分支,使用git pull 命令更新代码后再用git branch -r查询远程分支,试了好几次都没有查看到新建的远程分支。
原因: git branch -r 命令不会每次都获取最新的远程厂库分支
解决方法: 使用git fetch 命令更新分支,然后再使用git branch -r 即可查看到最新的远程分支
要查看分支关联,可以使用以下几种方法:
-
使用命令
git branch -vv
,这会列出本地所有分支及其关联的远程分支。每行显示分支名称、关联的远程分支名称和远程地址。 -
使用命令
git remote show <remote>
,其中<remote>
是远程仓库的名称。该命令会显示与该远程仓库相关联的本地分支和远程分支。
gitignore: