git的入门使用

lab使用的是gitlab作为项目管理,说实话,因为我之前的工作没有涉及到git,所以git这一块的知识我也是从零开始学,学习了一天后,大致摸索得到了git的基本用法。我的系统为ubuntu,下面都是在ubuntu上的工作。

git的安装

在开始安装之前,建议弃用apt install的安装方式,改用aptitude install,这样可以解决安装时依赖缺失的问题。

git的安装网上有教程大同小异,值得注意的是,如果你需要vscode作为默认编辑器,在安装完毕后,输入

git config --global -e

 将config中core选项中改为

git的入门使用

 

 按照要求输入用户名和邮件即可。

gitlab是私有的代码仓库,所以你必须将自己的ssh秘钥和gitlab关联。

秘钥一般在 C:/user/username/.shh/id_sra.pb 中保存,linux在用户文件夹下.ssh中保存

git的使用

如果对某个项目有权限,直接clone到本地,如果没有权限,先将其fork到自己的代码仓库中,再将fork的项目clone下来。

git clone git@codexxxxxxxxxxxxxxx

 git到本地的项目已经初始化了,不要再用git init了

对文件修改后,需要及时进行commit:

git add fuck_git.md
git commit -m "fuck git!"

如果你想建立一个备份,可以试一试分支,分支就是将相当于一个树杈,你的工作在分支处进行了分叉。

git checkout -b  <branch_name>

撤销提交

git log # find commit id
git revert commit_id
或者直接
git revert HEAD

撤销一次撤销,就是再一次revert:

git revert HEAD # revert once
git revert HEAD #revert the revert

 远程合作开发

当你写好代码后,你肯定想push到你的远程仓库,我们用push命令:

git push origin <本地分支名>:<远程分支名>

  origin 是你的远程仓库名,在clone项目时,git帮你把它取名为origin,当然你可以用remote命令进行改名。

但是问题来了,你发现你push不上去,有报错:

! [rejected] brc -> br (fetch first)
error: failed to push some refs to 
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

提示,你需要fetch一下,为啥呢?因为你的远程仓库中的该分支已经前进了,换而言之就是该仓库的该分支在

你clone后已经更新了,可能是你的其他分支将它更新的,也有可能是其他开发者将它更新的,总之,它已经不是原来的分子了。

所以在执行push命令前,需要执行fetch命令:

git fetch origin <远程分支名> #拉取该远程分支
git checkout origin/<远程分支名> #你当然想看看更新的远程分支里有啥
git checkout <本地分支> #你已经看好了,所以回到本地分支
git merge origin/<远程分支> #于是你将更新的内容添加到你的本地分支内

 实际代码中分支名不需要加<>,请不要画蛇添足。

执行完一系列操作后,再push一次

git push origin <本地分支名>:<远程分支名> 

提示:Everything up-to-date

恭喜你,你已经完全会用git了。

上一篇:RHEL7--第九章


下一篇:第二课:创建开发环境