Git知识学习



Git:免费、开源分布式版本管理系统。客户端并不只是提取最新的文件快照,而是把代码仓库完整地镜像下来,每个客户端都是服务器,每个服务器也都是客户端。 是linux之父,linus Benedict Torvalds发明的。



和SVN相比:svn服务器挂掉就不能提交和管理版本;git可以将版本提交到本地就进行管理。



下载地址:Git - Downloads



注意:推送到远程服务器时,一定要先pull,合并成功,并没有问题后才能进行push



服务器有:gitlab、gitee、github



1. 安装略



2. 设置字体和编码(右键 --》 Options):

3. 本地结构:



4. 团队内部协作:



5. 跨团队协作:



6. 常用命令:

        

1. 和linux命令类似:比如:cd , ls, cat, vi, clear 等等

        

2. 常用命令:

                

1. 查看版本:

                    

git --version

                

2. 设置用户名和邮箱:

git config --global user.name "wangdy001"
git config --global user.email "449602327@qq.com"



3. 初始化本地库(仓库中会有一个.git的隐藏文件,不能随便修改和删除)

git init



4. 添加到暂存区,将缓存区文件提交到本地仓库

git add 【filename】
git commit -m "注释"



5. 查看当前工作状态

git status



demo(刚创建Demo2.txt文件,该文件没有被git管理状态):

 Demo(Demo2.txt已经被add到暂存区但是没有被commit状态):

 Demo(Demo2.txt被修改了,但是没有被add到暂存区):

Demo(Demo2.txt修改后,执行add操作后):

Demo(Demo2.txt执行commit后状态):

Demo(工作区和暂存区都已经提交完成状态):



说明:新增、修改、删除操作文件后都需要add、commit才能同步到本地库



6. log相关命令:



1. 说明:



  • -》 历史记录对应的具体的内容


  • commit注释


  • b(上一页); q(退出);END(最后一页)
git log

git log --pretty=oneline

git log --oneline

git relog



说明:HEAD@{数字}表示,指针要回退到该版本需要走多少步





7. 回退命令:

git reset --hard 21b6835



回退到指定版本:





说明:reset后面参数可以有:--soft(会在重置 HEAD 和 branch 时,保留工作目录和暂存区中的内容,并把重置 HEAD 所带来的新的差异放进暂存区。)、--mixed(reset 不加参数(mixed):保留工作目录,并清空暂存区)、--hard(会在重置 HEAD 和branch的同时,重置stage区和工作目录里的内容)

        

8. 恢复操作:

                

删除工作区数据,并同步到了暂存区(两种方法):




        
                
1. 执行reset --hard HEAD将暂存区、工作区保持和HEAD版本一致



                        2. 执行git status命令,通过提示命令进行操作

   

9. 比对文件差异(详细说明:git diff的最全最详细的4大主流用法_快乐李同学的博客-CSDN博客):

git diff  --对比工作区与暂存区所有文件
git diff 【文件名】  --对比工作区与暂存区指定文件
git diff HEAD 【文件名】  --对比工作区与仓库最新版本指定文件
git diff 【历史版本】【文件名】  --对比工作区与仓库指定索引号版本指定文件
git diff <分支名1> <分支名2> --比较两个分支上最后 commit 的内容的差别



10. 分支:

git branch -v   --查看分支
git branch branch01  --新建branch01分支
git checkout 【分支名】  --切换到对应分支



11. 分支冲突:

git merge 【被合并分支】  
--需要先切换到被保留的分支上,再执行该命令,将被合并分支进行合并



git merge 【被合并分支】   --需要先切换到被保留的分支上,再执行该命令,将被合并分支进行合并



处理办法:



1. 手动编辑该冲突文件



2. 执行: add 和 commit命令 即可解决



12. 创建本地库和远程库



1. 初始化本地库



2. 创建对应名称的远程库(详见github和gitee具体操作界面)



3. 创建关联关系:

git remote -v --查看关联的远程库
git remote add origin https://gitee.com/wangdy001/project02.git --添加origin别名



13. 将本地库分支推送到远程库

git push origin 【本地指定分支】--将本地库【指定分支】推送到origin库



14. 将远程库克隆到本地:

git clone 【远程库地址】



克隆操作帮我们完成:



1. 初始化本地库



2. 将远程库内容完整克隆到本地



3. 替我们创建远程库的别名



15. 成员权限管理(详见gitee的设置、github的Settings相关操作)

 



16. 远程库修改拉取



 

(代码简单,省事)pull = fetch + merge(为了保险、慎重)
git fetch origin master --将远程库对应分支拉取到本地,不改变工作区(工作区没有文件更新)
git checkout origin/master  --切换到远程库的master上,查看内容是否正确
git merge origin/master --将master分支合并到本地master分支上(合并前注意将工作区切换到master上)
git pull origin master --直接将远程master拉取并合并到本地分支



17. 跨团队合作(gitee、github都是通过pull requests):



1. 将源库fork一份到新的仓库中



2. 修改后,pull requests提交合并



3. 管理员审核后合并到源库中



18. SSH免密登录(详见gitee、github指引):主要:如果地址是https,是需要密码的,那就改为ssh。只能针对当前电脑

cd ~        --进入用户主目录中
pwd          --打印主目录地址   /c/Users/wdy
ssh-keygen -t rsa -C 17665366519 --生成对应key,后面三次回车(默认值)
vi ~/.ssh/id_rsa.pub       --查看公钥信息,将该值添加到对应地址
git clone git@gitee.com:wangdy001/project02.git  --不用账号凭据,通过SSH方式通信



19. IDEA集成Git



1. 设置Git安装路径



2.项目进行git初始化(初始化本地库)



3. log情况



4. 将远程库和本地库(两个不同项目)合并到一起(只解决两个仓库有不同的开始点



 

git pull origin master --allow-unrelated-histories



5. 填写备注内容:



6. 推送

git push -u origin master -f



7. IDEA推送前设置git仓库地址



8. 将远程库克隆到本地



9.冲突处理:(注意push前一定要pull到本地没有问题,才能push,尽量避免冲突

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值