Git学习

Git

linux安装

sudo apt-get install git

window

Git (git-scm.com)

安装完成后,需要进行设置,在命令行输入以下代码设置你的名字和Email地址:


$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
执行完之后配置保存在~/.gitconfig文件中
cat ~/.gitconfig
并且可以通过下方的命令查看一下用户名和密码:
$ git config user.name
$ git config user.email
这时候如果没有报错,那么git就安装成功了。
使用git config -l 可以查看现在的git环境详细配置:

#查看系统config
git config --system --list
#查看当前用户(global)配置
git config --global  --list
#查看当前仓库配置信息
git config --local  --list

配置远程环境

使用ssh-keygen命令可以获取到公钥和私钥。
将本机的公钥放到远程gitLab平台上面。 公钥位置在~/.ssh/authorized_keys。
ssh-keygen -t rsa -C "xxxxx@xxxxx.com邮箱账号"

cat ~/.ssh/id_rsa.pub
 git remote add origin ssh秘钥
git的工作流程一般是这样的:
1、在工作区中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;
3、将暂存区域的文件提交到git仓库。因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)。

命令

git init
git add
git commit -m
提交信息写错了的时候
commit id: a46e04a这条提交信息写错了,我们修改提交信息,可以这样操作 git commit --amend -m “XXX”.

git status
git push

modified了,但是还没有提交修改。还可以使用git diff命令,查看修改的内容:

git diff 

git log 命令查看历史信息:

git reset --hard HEAD^  将文件回退到上一个版本
注意:HEAD表示当前版本,则HEAD^表示上一个版本,那么上上版本就是HEAD^^。

又想回到刚刚的那个版本
git reset --hard commit_id 
commit_id可以使用git log --pretty=oneline

如果仓库中有个文件是我们不想要的
git rm demo2.txt 并且删除后记得使用git commit命令提交

删除的是工作区的文件,后来发现删除错了,那么可以通过git checkout命令用版本库里的文件进行恢复:
git checkout -- demo2.txt

git restore <file>
当我们在工作区业务开发的时候, 假设不需要对3.txt文件改动,也不需要对4.txt文件删除了。那我们需要使用git restore命令进行操作。放弃在工作区的更改。

git restore --stage <文件>的方式。

推送 git remote add origin ssh秘钥


git push -u origin master

git push origin master


git clone 远程库的ssh或者是http地址也行
git clone git@github.com:JangYt/Vue.git

合并分支
创建dev分支
git checkout -b dev
#git checkout 命令加上 –b参数表示创建并切换,相当于如下2条命令
git branch dev
git checkout dev
git branch查看分支,会列出所有的分支,当前分支前面会添加一个星号。:

在master分支下使用git merge dev 合并

解决冲突


git brach -d dev 删除分支
命令解释: `git branch -d <分支名>`:删除一个名字为branchName的分支。如果该分支有提交未进行合并,则会删除失败。

命令解释: `git branch -D <分支名>`:强制删除一个名字为branchName 的分支。如果该分支有提交未进行合并,也会删除成功。


git reflog
命令功能: 可以查看所有分支的所有操作记录(包括commit和reset的操作).包括已经被删除的commit记录

git stash
命令解释:保护现场

建议(规范):在功能没有开发完毕前,不要做commit操作

规定(必须):在没有commit之前,不能checkout切换分支。(不在一个commit阶段)

git stash list
命令解释:显示git栈内的所有备份,可以利用这个列表来决定从那个地方恢复

commit规范

git commit -m "fix: 修改test.cls"
'feat', // 新功能
'upd', // 修改
'del', // 删除
'fix', // bug修复
'test', // 单元测试
'perf', // 性能优化
'docs', // 文档更新
'style', // 样式变动
'refactor', // 功能重构
'revert', // 回滚某个更早之前的提交
'package', // 创建包

idea使用

更新和冲突

打开仓库,修改一下代码,点击提交。

img

更新项目:

再次更改远程仓库的代码

update

团队合作

每个程序员负责一个包。

程序员只提交自己负责的包,程序员不要提交.idea文件夹,否则.idea文件夹中的xml会发生冲突,项目经理第一次可以提交.idea文件夹。

如果代码冲突了 先下载代码,手动解决冲突。

不能下载代码或不能上传代码,解决方法是重新clone项目

在公司时的git使用 - 掘金 (juejin.cn)

电脑同时配置github与公司内部使用的gitlab

https://blog.csdn.net/jueji1998/article/details/103815585
1.下载git
生成对应的gitlab和github的公 秘钥 ssh-keygen -t rsa -C “你的gitlab邮箱” -f ~/.ssh/id_rsa_gitlab ssh-keygen -t rsa -C “注册 github 账户的邮箱”

这四个文件分别对应gitlab和github的公私钥,分别将gitlab和github的公钥配置到github和你公司的gitlab的ssh上
2.在.ssh目录下创建一个config文件,写入以下内容
Host github.com
HostName github.com
User zhangyao
IdentityFile ~/.ssh/github_rsa 
​
Host hcgit.hengchang6.com
HostName gitlab.com
User zhangyao
IdentityFile ~/.ssh/id_rsa

3.测试连接是否成功
ssh -T git@gitlab
ssh -T git@github.com
# Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
# 出现上边这句,表示链接成功


git 冲突相关

#预防发生冲突的方法:在每次push前git pull一下,保证本地代码都是最新的。

#冲突解决方法:

第一种冲突:在Git push的时候提示冲突了。

这种解决方法可以使用 git stash

保存本地代码,然后拉取最新的远程分支代码

git fetch --all   //只是下载远程内容,不做任何合并  
git reset --hard origin/master    //把HEAD指向刚下载的最新版本
再使用git stash apply应用最近存储,重新push即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值