1 前期准备
1.1 环境说明
系统:Ubuntu 18.04
1.2 前期准备
- 打开终端,确保git命令可使用;如果不能使用请自行搜索如何安装git
- 建议新建一个专门存储各个仓库的文件夹(假定文件夹命名为Git),然后再在Git下新建各个本地仓库的文件夹,例如文件夹结构:
|——Git
|—git_1
|—git_2
| …
1.3 git术语
- git: 一个开源的分布式版本控制系统
- GitHub: 一个托管和协作管理 Git 仓库的平台
- add: 添加文件到仓库(此时并未上传)
- commit 提交: 上传文件到仓库
- branch 分支: 一个轻型可移动的 commit 指针
- clone: 一个仓库的本地版本,包含所有提交和分支
- remote 远端: 一个 GitHub 上的公共仓库,所有小组成员通过它来交换修改
- fork: 一个属于另一用户的 GitHub 上的仓库的副本
- pull request 拉取请求: 一处用于比较和讨论分支上引入的差异,且具有评审、评论、集成测试等功能的地方
- HEAD: 代表你当前的工作目录。使用git checkout 可移动 HEAD 指针到不同的分支、标记(tags)或提交
2 教程&手册
2.1 git本地用户名设置
- 作用是区分不同用户的commit;本地用户名只本地使用,和github账号无关
2.1.1 为本地所有仓库设置全局用户名(global username)
- 打开终端
- 输入:
git config --global user.name "用户名"
命令中的“用户名”三个字替换为自定义用户名;“–global”表示在所有仓库中都使用该用户名 - 确认全局用户名:
git config --global user.name
- 顺带把全局用户名关联的email地址关联一下:
git config --global user.email "[邮箱]"
备注:全局用户名只能设置一个,如果设置多个,那么只会保存最后设置,具体验证请查看git 配置文件 .gitconfig
2.1.2 为仓库设置仓库用户名(local username)
- 打开终端
- 进入某仓库文件夹,例如进入上面提到的“git_1”文件夹
- 输入:
git config user.name "用户名"
如果报错“fatal: not in a git directory”,那说明文件夹git_1并没有进行仓库初始化,直接输入命令:git init
初始化当前仓库,再执行仓库用户名设置命令 - 确认仓库用户名:
git config user.name
该仓库用户名配置文件见.git文件夹下的config文件
如果该仓库没有配置仓库用户名,那么输入第四步命令,会显示全局用户名
ps:因为博主只设置了全局用户名,所以局部用户名是否可以关联邮箱就不验证了,感兴趣请读者自行验证
2.2 建仓
- 在终端cd进入仓库文件夹
- 初始化仓库:
git init
2.3 新建README.md
echo "# Git_repo" >> README.md
使用echo
命令,如果没有README.md文件会自动创建一个;命令中引号部分是添加到README.md中的内容
README.md遵从markdown的书写格式,因此想要增加标题/加粗等其他markdown格式,直接添加在引号中即可;上面命令“# Git_repo”在README.md文件中添加了一个标题,名为Git_repo;#号代表markdown标题格式
2.4 添加文件:add
git add README.md
添加README.md文件到仓库
当然也可以添加别的文件到仓库,但需要将要添加的文件/文件夹复制到仓库内
2.5 提交文件:commit
git commit -m "备注"
其中-m
表示该次commit附带一个message,即备注,备注内容为命令中引号内的内容
该命令提交所有已添加(add)的文件到本地仓库
2.6 分支操作
- 查看当前分支状态:
git status
显示分支名称,已添加文件 ;类似命令还有git diff
- 新建分支:
git branch 分支名
- 删除分支:
git branch -d 分支名
- 切换分支:
git checkout 分支名
还可以是git switch 分支名
或者git branch 分支名
- 显示所有分支:
git branch -a
/git branch
- 重命名当前分支:
git branch -m 新分支名
- 合并分支到当前分支:
git merge 分支名
- 删除当前分支下added文件:
git rm --cached 文件名
2.7 链接到Github上的仓库
git remote add 仓库地址的名字 仓库地址
仓库地址
就是Github上给的地址,然后给仓库地址
一个名字:仓库地址的名字
,此时还没有将本地仓库的内容推到Github上
2.8 推送 本地仓库 到 远程仓库(Github)上
git push 仓库地址的名字 仓库分支名字
2.9 拉取网络仓库
cd target_folder
git pulll HTTPS_LINK
2.10 为代码打上版本标签
git tag xx.xx
git tag v1.0
其中“xx.xx”表示标签设定的版本,第二行以v1.0为例;建议在commit后执行
2.11 如果在github官网对仓库进行了修改(重命名),更新和重新连接到本地仓库
git branch -m 本地仓库当前分支名字 新分支名字
git fetch 远程仓库地址在本地的名字 // 即教程2.7中“仓库地址的名字”
git branch -u 远程仓库地址在本地的名字/远程仓库地址默认分支名 新分支名字
git remote set-head 远程仓库地址在本地的名字 -a
2.12 查看历史提交和备注
git log
2.13 列出现有远程仓库
git remote -v
2.14 分支合并
2.15 撤销上一次commit
查看帮助:
git reset -h
撤销上一次提交,并且上一次提交中的add:
git reset --mixed HEAD~1
上面的1表示撤销到最后一次提交,~2表示撤销到倒数第二次提交,以此类推