环境 & 教程:
macOS Big Sur 11.2.1(m1)
Git 使用简易指南(含安装)
Pro Git 官方中文教程(推荐)
在线网站实操(强烈推荐)
以上为推荐的路线,以下链接按需自取
直观的动画演示
- 关于在线网站实操的快捷操作:
- 点击右边动画可以查看对应的简单命令
- levels 可以查看并选择关卡
- level intro1 快速跳转到第一关
- show goal 查看当前目标
- hide goal 或点击画面隐藏目标
- objective 查看当前关卡提示
- undo 撤销 reset重做
Git
- 分布式版本控制: 每个人的电脑都是一个完整的版本库,可离线本地提交,联网时再push,不因服务器损坏或网络问题造成工作停止
- 若对某个命令感兴趣,如
git checkout
,在命令行下输入man git-checkout
,你会发现一切变得简单起来
查看配置 & 配置基础信息
git config -l # 查看所有配置
git config --system -l # 系统配置
git config --global -l # 全局配置
git config --user.name "yourname" # 配置你的用户名和邮件地址,这很重要
git config --user.email "youremail"
我个人的配置文件在~/.gitconfig
,其内容与--global
查看到的内容一致
基础命令
创建仓库
在你需要版本控制的目录初始化本地仓库
cd [file_name]
git init # 文件路径可选,默认在当前文件夹下,此时会创建.git文件夹
HEAD config hooks objects
branches description info refs
克隆远程(remote)仓库
git clone url [file_name] # 文件路径可选,默认到当前文件夹下
若出现403错误,检查钥匙串是否有两个账号,更改/删除
另一个账号
文件状态
- 未追踪(untracked)
- 已追踪(tracked)
- 已修改(modified)
- 表示修改了文件,但还没保存到数据库
- 已暂存(staged)
- 表示对一个已修改文件的当前版本做了标记,使其包含在下次提交的快照中
- 已提交(commited)
- 表示数据依据安全的保存在本地数据库中
- 已修改(modified)
已追踪下的三个状态对应了Git项目中的三个阶段: 工作区、暂存区以及 Git 目录。
查看状态
git status [filename] # 默认所有文件,在新建的本地仓库下使用查看一下状态
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
分支操作
创建和切换
git branch # 查看本地分支
git branch -r # 查看远程(remote)分支
git branch [branch_name] # 建立分支
git branch -d [branch_name] # 删除分支
git checkout [branch_name] # 切换分支
git checkout -b [branch_name] # 创建分支并切换过去
合并
若你现在建立了两个分支,一个main
,一个是bugFix
,两个分支都各自对文件进行了部分修改,此时你想合并修改看是否符合预期。
使用git status
可以查看当前分支,假设main
为当前所在分支。
merge
把修改拉过来
用git merge bugFix
则可将bugFix
修改的记录合并至main
,此时main包含了所有的修改,但注意,bugFix
没有,应使用git checkout bugFix; git merge main
切换至bugFix
分支并再次合并。
若你对此缺少主观的印象,建议点击该网站,输入level intro3
。
rebase
让修改看起来是顺序开发的
命令: git rebase bugFix
文件
git add <filename> # 添加文件到缓存区
git commit -m "本次提交的说明" # 提交目录下所有文件的快照
忽略文件
将不需要提交的文件加入.gitignore
文件中
忽略文件
的规则:
#
注释- 可采用通配符
!
取反/home
表示忽略根目录下的home
文件,不包括其他目录下的同名homedir_name/
忽略dir_name
下的文件
码云公钥生成
cd ~/.ssh
ssh-keygen
pbcopy < ~/.ssh/id_rsa.pub # 已拷贝至剪切板,直接黏贴即可
copy
至https://gitee.com/profile/sshkeys下即可