git常见操作
git常见操作
- git log filename
查看提交记录
- git log -p filename
可以显示每次提交的diff
- 查看某次提交中的某个文件变化,可以直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename
验证公钥是否配置成功
ssh -T git@github.com
拉取指定tag分支
git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git
误删文件恢复
git reset HEAD 误删的文件夹或者文件的路径
git checkout 误删的文件夹或者文件的路径
git checkout .
修改了文件想还原回去
git checkout -- aaa.txt # aaa.txt为文件
查看日志
- 查看日志和文件差异
git log -2 -p
差异
- 工作区与暂存区的差异
git diff
- 对比两个分支差异git 对比两个分支差异
分支管理
Git创建Develop分支的命令:
git checkout -b develop master
将Develop分支发布到Master分支的命令:
# 切换到Master分支
git checkout master
# 对Develop分支进行合并
git merge --no-ff develop
-
删除本地分支 git branch -D feature-01
-
关联远端仓库
git remote add github git@github.com:jiftle/grocery.git
-
查看远端分支
git remote -v
# git remote -v
github git@github.com:jiftle/grocery.git (fetch)
github git@github.com:jiftle/grocery.git (push)
origin git@e.coding.net:jiftle/grocery.git (fetch)
origin git@e.coding.net:jiftle/grocery.git (push)
- 合并分支
git checkout master
git merge dev
-
删除远端分支
git push github --delete home -
解除远程仓库
git remote rm github
标签管理
-
查看所有的标签
git tag
-
删除某一个标签
git tag -d tagName
-
创建带注释的标签
git tag -a tagName -m "annotate"
-
轻量级标签
git tag tagName
-
历史提交创建标签
git tag tagName commitId
-
轻量级标签
git tag tagName
-
切换到某一个标签
git checkout tagName
-
推送标签到远程仓库
git push并不会把tag标签传送到远端服务器上,只有通过显式命令才能分享标签到远端仓库。
1.push单个tag,命令格式为:git push origin [tagname]
例如:
git push origin v1.0 #将本地v1.0的tag推送到远端服务器
2.push所有tag,命令格式为:git push [origin] --tags
例如:
git push --tags
或
git push origin --tags
tig文件名中文乱码
chinese font display is not correct in detail windows
git 路径转义
git config --global core.quotepath false
哈哈,我的提问,感谢不知名的好人。
最佳实践
参考文章
git fetch和git pull的概念
可以简单的概括为:git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
作者:打我你肥十斤
链接:https://juejin.cn/post/6844903921794859021
换行符号自动转换
关闭换行符自动转换,windows下的\r\n和linux下的\n,不自动转换
git config --global core.autocrlf false