git checkout
两种创建分支方式
远程已经有了分支。拉到本地
- git checkout -b base-feature origin/featureBranch // 自己创建的分支名称 对应的远程分支名称
本地创建好分支,然后推送到远程
创建切换本地分支
- git checkout -b base-feature
推送到远程
git push <远程主机名> <本地分支名>:<远程分支名>
- git push origin base-feature:featureBranch // 注意冒号前面是本地分支
git log
使用 --grep 就可以查询关键字
- git log --grep 关键字 --oneline
git stash
暂存当前工作区的文件 还没有git add 的或者add 后没有commit 的
- git stash
如果想要给暂存的命名
- git stash save 名称
查看所有暂存文件
- git stash list
切出暂存的文件
切出暂存的最近一条的文件
- git stash pop
切出指定的一条。利用apply
- git stash apply index // git stash apply 0
git reset
默认值 ,撤销commit,撤销add., 不删除代码
- git reset HEAD
1 / git reset --mixed HEAD1
撤销commit, 不删除代码,不撤销add
- git reset --soft HEAD~1
撤销commit. 撤销add,删除代码
- git reset --hard HEAD~1
git revert
- 与git reset 区别是会生成一条commit 记录
git remote
如果想要合并两个仓库地址代码,可以使用
下面给出操作步骤
- git remote
git remote add 仓库别名 仓库地址
- 获取到所有分支
git fetch 仓库别名
- 进行分支合并
git merge 分支名称
如果提示不允许合并 , 则添加 --allow-unrelated-histories 参数
cherry-pick
如果想要合并某一次的提交,可以利用cherry-pick
- git remote add 名字 地址
- git fetch xxx 拉取
- git cherry-pick commitID
修改commit提交信息
修改最近一次的commit 信息,如果要修改最后一个commit 就可以使用这个
- 利用git commit --amend
修改多条commit 信息
- git rebase -i HEAD~3 // 从当前开始后面三条
- git rebase -i commitID // 这个commitID之前的所有commit,不包含这一条
然后会出现commit 列表,初始化的是 pick 开头,将要修改的那一条记录修改为edit 开头保存,根据提示执行
- git commit --amend
发现当前要修改的commit 注释就是改为edit 的那一条,修改保存,然后执行continue 直到完成
- git rebase --continue
提示Successfully rebased and updated修改成功,强制推送
- git push -f
合并多条commit 信息
-
git rebase -i commitID
-
将要合并的pick 改为squash
-
git rebase --continue
配置ssh
先要设置git 账号密码
生成ssh key
拷贝ssh 到代码仓库