在工作中,git是必须要掌握的一个知识,企业开发人员合作,需要协同开发,协同开发,就需要使用到git。大部分企业中,使用的是放在自己服务器的git服务,比如gitlab,gerrit等git平台。
1、git的安装
使用git客户端软件,用git生成公钥,然后把公钥放到github或者码云/gerrit/GitHub。
在window上面的操作:
安装git客户端,执行命令:
ssh-keygen -t rsa -C "youremail@example.com"
在gerrit/GitHub上面输入公钥,公钥放在user文件夹里面的.ssh文件夹里面。里面有一个id_rsa.pub文件,把文件里面的公钥复制到gerrit上面就行。
在linux上面的操作:
-
设置用户名和email
git config --globaluser.name "xxx" git config --globaluser.email "xxx@qq.com"
-
生成ssh key
ssh-keygen -t rsa -C "xxx@qq.com"
直接三次回车就ok【直接3个回车无密码提交拉取代码】
-
查看公钥,
cat ~/.ssh/id_rsa.pub
- 在github个人账户配置key
2、代码上传gerrit/GitHub上的操作方式
//暂存本地代码
git stash
//把暂存代码pop
git stash pop
//拉取远程分支的代码
git pull --rebase
//暂存本地代码的代码从暂存库中取出,与新分支的代码合并
git stash apply
// 合并出现冲突,解决冲突
//然后可以添加修改的代码文件
git add .
//提交代码
git commit -m "提交信息"
// 在同一个提交里面增加修改内容
git commit -m -a "提交信息"
//上传代码
git push origin HEAD:refs/for/分支名
git push <remote 名字> <本地分支的名字> : <远程库的名字>
将本地分支推送到远程库
git push origin HEAD:refs/for/master
git push 表示推送
origin : 是远程的库的名字
HEAD: 是一个特别的指针,它是一个指向你正在工作的本地分支的指针,可以把它当做本地分支的别名,git这样就可以知道你工作在哪个分支
master: 远程库的master分支
以下是Gerrit的约定:
refs/for :意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的
refs/heads 不需要 code review
//远程仓库直接合并代码
具体操作在仓库中完成
git入门级教程:
教程
Git 的上传原理如下:
项目本地的目录->本地代码暂存区域->本地代码仓库->远程代码仓库
最开始idea爆红,说明只存在于本地的目录中,需要用git add .命令,把同级目录下所有修改过的地方,放入到本地代码暂存区域,然后commit之后,把代码放入到本地的代码仓库,再用push命令,放到远程代码仓库中。
git命令:
Git log 查看代码记录
Git status 查看代码的提交状态
Git add.指的是增加本级目录下面的所有修改文件
.. 是到上一级目录
git中的Amend功能,比如你已经上传了代码,想要修改,修改完之后,就按Amend按键,提交修改后的版本,gerrit上面就会变成已经修改完成的版本。
clone代码之后,还需要更新一下分支,分支可能跟远端仓库不一致
git pull --rebase 更新分支
我的GitHub个人账户,push命令为:
git push -u origin main
3、 总结一下,常用git命令
查看分支
git branch //本地分支,只有一个master
git branch -a //查看本地和远程所有分支
新建本地分支
git checkout -b 分支名
//上面的一句为下面两句
git branch 新分支名
git checkout 新分支名
新建一个远程分支
git push origin 新分支名:新分支名
将本地分支和远程分支合并关联
git push --set-upstream origin 新分支名
切换分支
git checkout 分支名
推送操作
git add . //推送到本地
git status //查看状态,推送的文件是绿色的
git commit -m "备注" //提交
git push -u origin 分支名 //推送到远程
这些就是常用的git命令,如果觉得有用的话,可以关注下我的公众号:我只是个码字的,点点关注,加星标,可以看到我发的最新推文!