分支管理
git pull origin A:B
git branch –set-upstream-to=origin/develop develop
实践:
拉取远程代码到本地:
git pull origin release/Mandy_final:Mandy_final
要更新代码,使用:git pull origin Mandy_final
提示“fatal: Couldn’t find remote ref Mandy_final”
不知道原因,假设git pull 分支的时候,origin 之后的分知名不是本地的,而是远端的。
验证假设:
git branch –set-upstream-to=origin/release/Mandy_final Mandy_final
git pull命令直接到代码
git pull origin Mandy_final还是之前提示。
因此我自动发版脚本中的拉取代码的前提是要保证本地分支名必须和远端分支名保持一致:
git pull origin `git status |awk '{print $4}'|head -1`
git branch -r
git branch -a
git checkout -b mybranch origin/mybranch
git status
#清理本地分支(远程仓库已经不存在的分支)
git remote prune origin
#本地所有修改的。没有的提交的,都返回到原来的状态
git checkout .
#把所有没有提交的修改暂存到stash里面。可用git stash pop恢复。
git stash
#返回到某个节点,不保留修改。
git reset –hard HASH
#返回到某个节点。保留修改
git reset –soft HASH
#查看时间段的修改
git log –since=”2016-11-11” –before=”2017-01-06” filepath
#查看最近修改.-p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
git log –since=”2016-12-25” -p File |grep diff | awk ‘{print $4}’ |awk -F ‘b/’ ‘{print $2}’
以上命令,列出了时间之后,某文件夹下修改过的文件列表。在具体使用中,这个命令解决了静态资源部署的问题,消除了每次更新发版,不管静态文件是否修改过,都要全部上传到cdn的问题。
#回退历史版本
git reset –hard 3628164(commit号)