git常用操作
克隆仓库
git clone
查看所有分支
git branch
分支切换
git checkout
git checkout -b <本地分支名> 远程仓库名/<远程分支名>
创建新分支并切换到新分支
[Note] 如果切换分支时候,如果有文件发生冲突时 使用stash
Head:指向当前使用分支的最后一次更新
分支合并
git merge
git rbase (将新的分支的所有历史记录迁移到旧的分支)
分支删除
git branch -d <branchname>
将当前分支重置到某个版本
git reset <版本名>
分支拉取
git pull origin <远程分支名>:<本地分支名>
分支推送
git push origin <本地分支名>:<远程分支名>
提交代码四部曲
- 查看哪些文件是被修改的,防止修改不必要的文件
git status - (1)添加准备要提交的代码到暂存区
git add xxx.c - (2)再次查看添加了什么
git status - 提交代码到本地仓库
git commit -m “[ADD]:提交的新代码xxx.c” - 提交代码到远程仓库,这里提交到个人分支(?)
git push origin <本地分支名>:<远程分支名>
(一个push就好,注意checkout到当前分支,远程资源冲突先pull --rebase再git push)
提交发生冲突解决办法
有一种情况,子分支在提交的时候,主分支有新版本,这就需要子分支再拉一下代码,具体操作如下。
#如果待提交的版本已经提交到本地仓库,需要回退到旧版本
git reset <旧版本>
#先把待提交的版本放入暂存区
git stash
git pull origin <远端分支>
#查看暂存区列表
git stash list
#从暂存区中取出数据
git stash pop <stash_id>
#完成
如何修改最近一次的commit信息
-
git commit --amend
-
进入vim操作界面之后, 对commit信息进行修改,然后保存退出。
-
然后执行 git log 会发现最近的一次commit信息被修改成功了。
add后反悔了想撤销咋办
git status #查看add 中的文件
git reset HEAD #撤销上一次add的内容
git reset HEAD XXX/XXX/XXX.py #对某个文件进行撤销
从暂存区删除文件
- 当执行
git rm --cached <file>
命令时,会直接从暂存区删除文件,工作区则不做出改变。
更新远程分支
git remote update origin --prune
远程仓库相关
git remote -v
:查看远程仓库详细信息,可以看到仓库名称
git remote remove orign
:删除orign仓库(如果把origin拼写成orign,删除错误名称仓库)
git remote add origin 仓库地址
:重新添加远程仓库地址