删除本地分支
删除本地分支:git branch -d yourDeleteBranchName
强制删除:git branch -D yourDeleteBranchName
撤销本地commit
git commit后,如何撤销commit_姜意%的博客-优快云博客_commit 撤销
git中的smart checkout和force checkout
git中的smart checkout和force checkout_UlricaQ的博客-优快云博客_checkout smart
回滚本地提交的某个文件
场景: 对于某个Git控制下的文件进行了修改,但是改的不满意,想退回到改之前的版本。假定该文件为 src/main/main.c
解决方法:
第一步: 在命令行中输入 git log src/main/main.c 得到该文件的commit 历史。 会得到类似下面的界面
第二步: 复制需要回退版本的hash,在此假设我们回退到 d98a0f565804ba639ba46d6e4295d4f787ff2949 ,则复制该序列即可
第三步:checkout 对应版本。格式为 git checkout <hash> <filename>, 在此即为命令行中输入 git checkout d98a0f565804ba639ba46d6e4295d4f787ff2949 src/main/main.c
第四步: commit checkout下来的版本。 如: git commit -m "revert to previous version"
回滚远程代码上的某个版本
git log
git reset --hard <commit_id>
git push -f origin <branch_name>
统计代码行数
git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 + $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s \n", add, subs, loc }' -; done
其中:变量add统计的为代码增减量,subs统计的为代码减少量,然后将add和subs相加得到代码改动行数loc,这样就可以获取到一个开发者在某个代码项目中改动的代码行数。