git是一个分布式的代码版本管理工具,简单的可以理解为在开发者的本地和远程仓库分别保存开发的代码,git可以实现本地和远程仓库内代码的同步和版本控制。
现如今相对在代码社区中较为流行的代码托管平台有GitHub和gitlab,但国内的用户会受到一定的限制。码云作为国内的托管平台,不仅在语言上对国人更友好,同时界面风格和操作和GitHub基本一致,更重要的是并没有其他因素的限制。
生成秘钥文件,在系统的命令行中执行如下代码:
ssh-keygen -t rsa -C “*******@qq.com”
: ssh-keygen:生成秘钥文件的命令
: -t rsa:指定秘钥算法
: -C:添加一个注释,说明当前开发人员的身份,一般填写邮箱
打开C:/Users/jacke5t/.ssh/文件夹里后缀为.pub的文件,复制其中的内容,添加到远程仓库的SSH秘钥列表中。
由缓存区、本地仓库、远程仓库组成
(1)配置本地开发人员
# 以下信息是作为之后进行代码管理和维护的标识信息
git config --global user.name 'jacke5t'
git config --global user.email '******@qq.com'
git config --list # 查看自己的配置信息,看信息是否添加成功
(2)初始化一个本地仓库
git init # 初始化本地文件夹为git仓库
(3)关联远程仓库
git remote add origin 远程仓库地址 # origin是远程仓库的名称
(4)同步信息仓库
把远程的仓库/分支同步到本地仓库,在第一次关联仓库后,一定要执行一次同步(本地仓库的重构),才能正常的执行本地和远程的文件版本管理和同步。
git pull --rebase origin master
# git pull:同步指令
# --rebase:在发生冲突时自动新建一个分支,在新建的分支上处理冲突
# origin master:同步origin仓库的master分支
(5)文件添加到缓存区
在添加文件后要先把文件添加到缓存区
git add 文件名 # 添加文件到缓存区
(6)提交缓冲区中的文件到本地仓库
# 新文件提交
git commit -m '注释'
# 已修改文件提交
# 对已修改文件的提交,需要先更新,如果同时有其他的开发人员,可能会修改文件,
# 更新操作将其他开发人员修改后代码同步到自己的代码中
git update
git commit -m '注释'
(7)推送代码到远程仓库
git push -u origin master # 推送代码到origin仓库中的master分支中
通过不同的分支,完成不同功能的开发,将不同的分支可以合并得到一个完成的软件产品。
(1)查看分支
git branch # 查看本地所有分支
git branch -r # 查看远程仓库所有分支
git branch -a # 查看本地+远程所有分支
(2)创建分支
git branch [name] # 添加一个名称为name的分支
(3)切换分支
git checkout [name] # 切换到指定名称name的分支
(4)分支重命名
git branch -m [old] [new] # 重命名指定分支
(5)合并分支
# ①把name分支合并到用户所切换到的分支
git merge [name]
# ②
git fetch
(6)删除分支
# 慎重,不推荐,没有特殊情况不允许删除
git branch -d [name]
(7)本地创建的分支同步到托管平台
在本地创建分支后,切换到新分支进行操作,在推送新分支内的文件的同时会在托管平台创建分支,推送成功后即可在托管平台看到本地创建的分支。
(1)查看异同
git diff # 排查新增的代码对于哪些文件那些代码进行了修改
(2)查看提交历史
git reflog # 查看当前仓库中的数据简要提交历史信息
git log # 查看详细提交历史信息
git rebase [分支名字] # 合并提交记录
(3)代码回滚
git reset [commitID] # 回滚commit提交记录,代码不回滚
git reset --hard [commitID] # 将提交记录和代码全部回滚
git checkout --files # 将指定的部分文件回滚
(4)克隆远程仓库到本地
git clone 远程仓库地址
(5)查看仓库中文件的状态信息
git status
(6)查看远程仓库地址
git remote get-url origin # 查看远程仓库origin的地址
方法很简单,就是在本地创建两个本地仓库,两个仓库分别关联码云和GitHub。
两个托管平台可以可以使用同一个秘钥文件。秘钥文件的生成查看本章4.2操作流程
创建两个文件夹,分别在这两个文件中初始化本地仓库,一个是码云的本地仓库,另一个是GitHub的本地仓库。
在各个文件夹中打开git bash来关联本地仓库,在关联远程仓库时,需要设置好远程仓库的名称,以便后续的推送操作。
把远程的仓库/分支同步到本地仓库(第一次关联后)
文件的提交顺序为先把文件添加到缓冲区,再把缓存区中的文件添加到本地仓库。
推送代码时,指定要推送到哪个仓库的哪个分支中。