在工作中,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下面的操作:

  1. 设置用户名和email

    git config --globaluser.name "xxx"git config --globaluser.email "xxx@qq.com"
  2. 生成ssh key

    ssh-keygen -t rsa -C "xxx@qq.com"

    间接三次回车就ok【间接3个回车无明码提交拉取代码】

  3. 查看公钥,

    cat ~/.ssh/id_rsa.pub
  4. 在github个人账户配置key

2、代码上传gerrit/GitHub上的操作形式

//暂存本地代码git stash//把暂存代码popgit 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/mastergit 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  //本地分支,只有一个mastergit 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命令,如果感觉有用的话,能够关注下我的公众号:我只是个码字的,点点关注,加星标,能够看到我发的最新推文!