目录
1.检出新分支
git checkout -b 新分支名
# 推送新分支到远程仓库
git push origin 新分支名# 关联远程仓库(让本地仓库与远程仓库关联起来)
git branch --set-upstream-to=origin/新分支名
2.重置到某版本
git reset --hard 版本id
3.强制push
git push -f origin master
4.查看所有分支
git branch -a
5.查看当前分支
git branch
6.基础命令
# 暂存所有的更改
git add .
# 提交
git commit -m "描述"# 拉取
git pull origin master# 推送
git push origin master# 撤销add操作
git rm -r dir_name --cached
7.合并指定分支到当前分支
git merge [branch]
例:git merge origin dev
8.一个分支重置成另一个分支
# 切换到旧的分支
git checkout master
# 将本地的旧分支 master 重置成 develop
git reset --hard develop# 再推送到远程仓库
git push origin master --force
9.忽略文件
在项目根目录(.git文件夹所在的目录同层)创建.gitignore文件
编辑要忽略的内容,如:
*.dll
runtime/*
10.删除本地分支重新拉取
1.删除本地分支(需要切换到其他分支来删除)
git branch -d 本地分支名2.重新拉去远程分支dev到本地
git fetch origin dev3.在本地新建dev分支并切换到dev
git checkout -b dev origin/dev4.把dev分支内容拉去到本地
git pull origin dev
11.删除远程分支
git push origin --delete dev-link
12.异常处理
- #git error: The following untracked working tree files
git clean -d -fx
git pull origin master
13.放弃本地修改
13.1 放弃未使用 git add 缓存的代码
git checkout -- filename
如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。
# 放弃所有
git checkout .
注:此命令不能删除新建的文件,如要删除,需要手动删除。
13.2 放弃已经git add 缓存的代码
git reset HEAD filename
如: git reset HEAD readme.md 来放弃指定文件的缓存
# 放弃所有本地缓存
git reset HEAD .
注:此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令的工作。在使用本命令后,本地的修改并不会消失,而是回到了(13.1)的状态。继续用(13.1)中的操作,就可以放弃本地的修改。
13.3 放弃已经git commit的代码
# 回退到上一次commit的状态
git reset --hard HEAD^
# 回退到任意版本
git reset --hard 版本号
可以使用 git log 命令来查看git的提交历史
14. 分支重命名
如果是命名当前分支:
git branch -m 新分支名
如果想重命名不同的分支(非当前分支):
git branch -m 旧分支名 新分支名
如果新分支名已经存在,Git会拒绝重命名。如果确定要覆盖现有的分支,可以使用强制重命名:
git branch -M 新分支名
# 或
git branch -m 旧分支名 新分支名 -f