文章目录
1.从master上拉取一个新分支:
- git branch 查看当前分支,显示为master就行了
- git checkout -b xxx 根据master分支切一个xxx分支出来, master分支一般会关联远程master,
建议先git fetch --all, 然后git pull - git branch 查看当前分支,显示为xxx分支就可以
- git push -u origin xxx 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,所以要加-u。第一次将新分支提交到远程上时需要加-u
2.提交到当前开发分支:
git branch 查看当前分支
git status 修改和添加的文件是红色的
git add . 将所有的文件推到暂存区
git status 此时修改和添加的文件是绿色的
git commit -m “” 将暂存区的代码推到本地仓库
git status 此时工作目录是干净的
git push origin xxx 将本地仓库xxx推到远程xxx,远程上有这个分支时可以不用写origin xxx
3.合并到master分支:
git checkout master 切换到master分支
git branch 查看当前分支
git pull origin master 保险起见先拉一下master分支上的代码
git merge xxx 将xxx合并到master分支
git push 将master分支代码推到远程,因为远程上有master分支,所以可以不用加origin master
4.git如何撤销上一次commit操作:
第一种情况,如果还没有push,只是在本地commit:git reset --hard <commit_id>
第二种情况,如果已经push:git revert <commit_id>
获取<commit_id> : git rev-pase head
5.强制将远程上代码覆盖本地:
git fetch --all
git reset --hard origin/master
git pull
6.创建分支并推送到远程仓库:
本地创建分支:git branch 分支名
删除本地创建分支:git branch -d 分支名
本地创建分支并切换到该分支:git checkout -b 分支名
分支推送到远程仓库:git push origin 分支名
删除远程分支:git push origin --delete 分支名
7.git push --set-upstream origin 分支名
git push --set-upstream origin 分支名:
1.这个命令用于将本地分支推送到远程仓库,并且通过 --set-upstream(或简写为 -u)参数,可以同时建立本地分支与远程分支之间的关联。这意味着以后在本地分支上执行 git pull 或 git push 时,Git 将会自动关联到远程分支,并执行相应的操作。这样可以避免每次推送或拉取时都需要手动指定远程分支的名称。将本地分支与(新创建或者现有的)远程分支关联起来
例如,git push --set-upstream origin my-feature-branch 将会将本地的 my-feature-branch 分支推送到远程的 origin 仓库,并且建立本地分支与远程分支的关联。
git branch --set-upstream-to=origin/分支名 本地分支名:
2.这个命令用于手动地为一个已经存在的本地分支设置远程分支的关联。这在你创建本地分支之后,需要与一个已经存在的远程分支进行关联时非常有用。
例如,假设你已经在远程仓库中有一个分支 feature-branch,你在本地创建了一个同名分支 feature-branch,但还没有建立它们之间的关联。你可以使用 git branch --set-upstream-to=origin/feature-branch feature-branch 来设置本地分支与远程分支的关联。
如果你想要将本地分支推送到远程,并且远程仓库中没有同名分支,你可以使用第一个命令来创建远程分支并关联本地分支。
如果你想要将本地分支与远程仓库中已经存在的同名分支关联起来,你可以使用第二个命令来建立这种关联
8.如果拉取代码报冲突
你可以使用 git stash 来临时保存这些更改。然后,你可以安全地执行 git pull。拉取完成后,你可以使用 git stash pop 来恢复你的本地更改。
git stash
git pull
git stash pop
9.如果还没有推送到远程分支, 只是在本地commit了
HEAD~1 则是指向你的上一次提交。每一个 ~ 后面的数字都表示向后移动的提交数。例如,HEAD~2 将指向你的倒数第二次提交,HEAD~3 将指向你的倒数第三次提交,以此类推。
# 保留更改
git reset --soft HEAD~1
# 丢弃更改
git reset --mixed HEAD~1