git使用
本文章仅是总结,强烈建议去看廖雪峰git教程
git下载配置
官网下载
配置邮箱名字:
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
创建版本库
git init 初始化
git add 文件名 添加到暂存区
git commit -m "说明" 添加到版本库
版本回退
git reset --hard commit_id 注释:HEAD^^也可
git log 查看提交历史
git reflog 查看命令历史
工作区和暂存区
git checkout -- file 从版本库恢复工作区文件
git resotre --worktree file 从暂存区恢复工作区
git restore --staged file 从版本库恢复暂存区
删除文件
git rm file 删除文件=手动删除+git add
创建远程仓库-ssh
- 买梯子,注册github
- 创建.ssh文件,如果你有就不用了,ssh-keygen -t rsa -C "youremail@example.com"
- 在用户主目录下找到.ssh文件,进入之后id_rsa.pub是公钥,复制下来,在github的设置中添加进去ssh公钥,这样你的项目,只有你能推动,当然如果你们是多个开发者,把另一个电脑的ssh公钥也要添加到github上
远程仓库和本地仓库
git remote add origin ssh链接 本地库关联远程库
git push -u origin master 第一次推送本地库
git push origin master 以后推送远程库
git remote -v 查看远程库信息
git remote rm name 解除和远程库的关联
git clone ssh链接 克隆 注释:克隆只能克隆master
创建和合并分支
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d name
发生冲突
手动合并再提交
git log --graph
分支管理策略
默认是ff-fast forward git merge --no-ff name取消ff
bug
工作没有完成时git stash打包暂存
git stash pop 恢复之前的状态,并删除打包文件
git cherry-pick 版本号 将之前在master上修复的bug,在dev上再修复一遍,避免重复劳动
有一说一,这个我没太懂
feature
git branch -D name强行删除未合并的分支
多人协作
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交
如果pull失败,说明本地分支与远程的分支没有建立联系,建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突。
变基
git rebase
标签
git tag tagname 用于新建一个标签,默认为在HEAD位置建立标签,也可以指定一个commit id,添加版本号在tagname后
git tag -a tagname -m "说明" 可以指定标签信息
git tag可以查看所有标签
感觉和分支差不多
git tag -d tagname 删除标签
git push origin :refs/tags/tagname 可以删除一个远程标签
git push origin tagname可以推送一个本地标签
git push origin --tags可以推送全部未推送过的本地标签
搭建自己的git服务器
不会
得先学linux
可视化git
SourceTree
一个字”绝“
特别方便
安装使用参考下面这篇文章致谢
https://cloud.tencent.com/developer/article/1647770?from=article.detail.1369196