配置文件
查看GIT本地配置
编辑git配置文件
1
| git config --global --edit
|
设置GIT用户信息
1 2
| git config --global user.name "zhanglikun" git config --global user.email "iuxt@qq.com"
|
git记住密码
1
| git config --global credential.helper store
|
配置文件~/.gitconfig
内容
1 2 3 4 5
| [user] name = zhanglikun email = iuxt@qq.com [credential] helper = store
|
忽略追踪文件权限
建议windows代码使用
1
| git config core.filemode false
|
分支管理
命令 |
作用 |
git branch -a |
查看所有分支 |
git branch -r |
查看远程分支 |
git fetch |
更新索引 |
git checkout 分支名 |
切换到分支 |
git checkout -b 本地分支名 |
在本地创建一个分支, 并切换到这个分支 |
git reset –hard 6e52 |
回退到某个ID |
git add -u |
将删除操作也添加到暂存区 |
git rm –cached filename |
将暂存区的文件移出暂存区 |
使用 git checkout 撤销本地修改
checkout 就是撤销你的修改, 暂存区是会保留.
1 2 3 4 5
| git checkout .
git checkout readme.md
|
git回滚一个文件到指定版
根据commitid来回滚
1 2
| git log /path/to/file git checkout <commit-hashcode> /path/to/file
|
回滚到上一个版本
1
| git checkout HEAD^ /path/to/file
|
使用 git reset 回退项目版本
git reflog查看命令历史
1 2
| git reset --hard <commit-hashcode> git reset --hard HEAD^
|
添加关联的远程git仓库
origin是远端的名字, 多个远端名字不能相同
1
| git remote add origin https://github.com/iuxt/test.git
|
上传,并关联到master分支
1
| git push -u origin master
|
合并代码
1 2
| git checkout master git merge dev
|
合并方式如果是fast-forward模式, 表示git只是切换了一下指针
删除分支, 分支改名
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| git branch -m oldbranch newbranch
git push --delete origin oldbranch
git push origin newbranch
git branch --set-upstream-to origin/newbranch
git fetch -p
|
rebase
利用rebase删除历史提交记录
1
| git rebase -i <你要基于那个提交的id>
|
commit前面的pick改成d即可,表示丢弃这个commit,如果需要推送到远端的话,需要git push -f
注意:多人协作慎用git push -f
标签管理
查看标签
1 2 3 4 5
| git tag
git show v1.0
|
创建标签
切换到对应的分支, 默认是打在最新的commit上的。
如果想要打到历史的commit id
1 2 3 4 5 6 7 8
| git log --pretty=oneline --abbrev-commit
git tag v0.9 f52c633
git tag -a v0.1 -m "version 0.1 released" 1094adb
|
推送标签
1 2 3 4 5
| git push origin --tags
git push origin refs/tags/v0.1
|
删除标签
1 2 3 4 5 6
| git tag -d v0.1
git tag -d v0.1 git push origin :refs/tags/v0.1
|
submodule
添加submodule
1
| git submodule add https://github.com/HEIGE-PCloud/DoIt.git themes/DoIt
|
后续使用
1 2 3 4
| git clone https://github.com/HEIGE-PCloud/DoIt.git cd DoIt git submodule init git submodule update
|
删除submodule
1 2 3
| git submodule deinit -f -- themes/eureka rm -rf .git/modules/themes/eureka git rm -f themes/eureka
|
最后更新一下.gitmodules
即可
修改submodule的url
1.更新 .gitsubmodule中对应submodule的条目URL
2.更新 .git/config 中对应submodule的条目的URL
3.执行 git submodule sync
小技巧
指定密码拉取git
不安全, 推荐使用ssh密钥方式
1
| git clone http://admin:admin%401234@203.156.235.84:10000/r/app/client.git
|
windows建议配置
1 2 3 4 5 6 7 8
| git config --global core.autocrlf input
git config --global core.filemode false
git config --global core.quotepath false
|