git常用命令记录
git提交一个没有任何改动的记录:
git commit -m "empty commit" --allow-empty
查看本地所有配置
git config --list
首次clone一个库
先git clone
再cd进目标目录
git checkout -b local_dev origin/target_branch
即可切换至目标分支,并将本地分支与其相关联
本地开发前,先将本地代码更新至服务器最新
命令:git pull -rebase
此时,有三种情况:
1 本地未作任何更新,这时 只是更新本地workspace
2 本地有修改:
1) 如要舍弃本地修改,则git reset -hard HEAD
先清理workspace,再执行上述命令
2) 如需要本地修改,则在修改完成后(注意这里是修改已经完成),先执行add,commit把修改纳入本地版本库中;然后再执行pull操作(可能会遇到冲突,那就需要先merge冲突)
3) 如果要在本地提交之前,同步服务器的更新,那就需要以下操作:
. git stash
.git pull -rebase
. git stash pop
(可能会冲突,需先merge)
. 同步完成,可以继续修改了
git 修改commit message的方法
针对本地commit,并未push到服务器的最后一次提交,命令为:
git commit --amend
或者 git commit --amend -m "sdfasdf"
会出现编辑界面,输入新的msg即可
git bash 出现vim,退出方法:
先esc退出输入,再shift + ;
然后再输入exit,即可退出
或者输入 wq!
回车,表示保存对文件所作修改,再退出
q! 表示不保存修改,直接退出
或者修改某个文件,加入换行,再次选择amend提交
git 查看上次提交内容
git log -1
查看最后一次提交
git log -2
最后两次
git log -p -2
可以显示最后两笔提交的差异,-p表示查看差异
git cherry-pick用法
用于将分支上的一次commit同步至另一个分支
git cherry-pick <commit-id>
必须在本地对同一个仓库进行操作,先切换至目标分支,再执行命令
如分支1的一次提交 同步至分支2
则需先切换至分支2.然后执行命令,如果产生冲突,则需要解决
或者直接选择git服务器上的cherry-pick,复制命令,然后再执行
如果有多个提交,则需要按照提交的先后顺序依次执行
git stash
:暂存当前修改
git stash pop
:将上次暂存的修改取出
git pull --rebase
:拉取服务器最新的代码,并将本地head和服务器上的head同步
注意:此命令会丢失本地的所有更新
git 合并本地的几次commit
使用android studio上的版本控制工具,例如本地有三笔提交,
log 3 10-3
log 2 10-2
log 1 10-1
想要将这三笔提交合并为一笔,则在version control的log中找到这三笔,
右键log 1,选择"interactively rebase from here",然后在弹出的对话框中选择相应的命令,点击继续rebase即可
注意,在这个过程中可能会产生冲突,则需要先处理冲突
上述步骤完成后,即将本地提交成功合并
命令没有用过,好像是git rebase