当前位置:   article > 正文

Git从入门到精通_git 从入门到精通 csdn

git 从入门到精通 csdn

第一章=>
1、Git作用         
2、Git简史                       
3、Git结构                 
4、Git与GitHub     
5、本地库与远程库

第二章=>6、设置签名       
7、基本操作                     
8、版本前进与后退   
9、比较文件             
10、分支管理

第三章=>
11、基本原理     
12、GitHub注册与头像   
13、本远程库交互       
14、跨团队协作       
15、Git工作流

第四章=>
16、分子流说明   
17、GitLab服务器搭建     
18、开发环境配置Git

****************************************************************************************************************************************************************************

  1. 1、Git能干什么
  2. 版本控制(个人数据的保存,团队协作的高效)、分支控制

****************************************************************************************************************************************************************************

  1. 2、Git简史
  2. 1)Linux开源代码的合并,鲁纳斯本人研发了Git用于满足这个需求。
  3. 2)优势:大部分操作在本地、完整性保证、快照形式增数据、分支操作流程、与Linux命令全面兼容

****************************************************************************************************************************************************************************

  1. 3、Git的结构
  2. 工作区(写代码)git add>暂存区(临时存储)git commit>本地库(历史版本)

****************************************************************************************************************************************************************************

  1. 4、Git与Github
  2. 1)局域网:Gitlab
  3. 2)外网环境:Github与码云

****************************************************************************************************************************************************************************

  1. 5、本地库与远程库
  2. 1)团队内部协作
  3. 2)外部协作

****************************************************************************************************************************************************************************

  1. 6、设置签名
  2. git config --list #查看签名信息
  3. git config --global user.name "HIT" #设置用户名
  4. git config --global user.email "wdfgdzx@aliyun.com" #设置用户邮箱
  5. ghp_5TLzhh34HAwvAh2Vr7REhJUdTZHwUJ3Unra$ #阿里云 1个月w
  6. git config --local credential.helper "" #清空历史设置信息
  7. #优先级:就近原则,项目级别 > 系统用户级别。如果都没有是不允许的

****************************************************************************************************************************************************************************

  1. 7、基本操作
  2. git status #查看git状态
  3. git add good.txt #添加到暂存区
  4. git rm --cached good.txt #从暂存区取回
  5. git commit -m "create good.txt" good.txt #保存到本地库

****************************************************************************************************************************************************************************

  1. 8、版本的前进与后退
  2. git reflog #查看版本日志
  3. #双击黄色部分即可复制
  4. git reset --hard 6540676 #这样就可以轻松的切换想要的版本,牛批Plus,就算本地文件彻底删除,从历史版本中也可以找到

****************************************************************************************************************************************************************************

  1. 9、比较文件
  2. vim apple.txt #编辑文本
  3. git diff apple.txt #比较文本标记前后的区别(工作区与暂存区的进行比较)

****************************************************************************************************************************************************************************

  1. 10、分支管理
  2. 在一次开发中master是主分支,hot_fix是修复bug的分支,feature_blue是蓝色背景的分支,feature_game是游戏的分支。分支让多个功能同时进行,提高效率;如果出现一个分支失败,不会影响到其他分支。
  3. git branch -v #查看当前分支
  4. git branch hot_fix #创建hot_fix分支
  5. git checkout hot_fix #切换到hot_fix分支
  6. git branch -v #当前分支会变绿
  7. git merge hot_fix #合并分支
  8. #当不同分支出现同行合并内容不同时,会出现冲突
  9. #需要手动修改冲突提示的文件并保存,然后用下面的
  10. git add modify.txt #添加修改文件到暂存区
  11. git commit -m "resolve conflict" #不带文件名,来提交解决

****************************************************************************************************************************************************************************

  1. 11、Git的基本原理
  2. 1)明文—>加密算法—>密文
  3. 2)完整性保证也是通过客户端加密VS服务端加密比对的一致性保证的
  4. 3)版本管理的本质是快照+指针,分支管理的本质是指针

****************************************************************************************************************************************************************************

  1. 12、Github账号注册与头像修改
  2. 注意:不建议使用163邮箱,有的信息可能收不到

****************************************************************************************************************************************************************************

  1. 13、本地库与远程库的交互
  2. 1)远程库的创建
  3. 2)本地关联远程库
  4. https://github.com/yuebuqun163/jianpu.git #岳创建的远程地址
  5. git remote -v #查看远程库地址信息
  6. git remote add origin https://github.com/yuebuqun163/jianpu.git #添加远程库地址
  7. vim test.txt #修改文件
  8. git add test.txt #添加到暂存区
  9. git commit -v "create test.txt" test.txt #添加到本地库
  10. git push origin master #推送到远程仓库,首次推送需要输入Personal access tokens(从github获取)
  11. #另一种方式是直接克隆
  12. git clone https://github.com/yuebuqun163/jianpu.git #直接克隆远程仓库
  13. cd 仓库目录 #切换到仓库目录
  14. 3)邀请团队内成员加入项目
  15. 2345_image_file_copy_9.jpg
  16. 被邀请成员会收到邮件地址,打开地址接受即可拥有对此项目的push权限。
  17. 4)远程库(可能包括信息修改)的拉取到本地
  18. #pull = fetch + merge
  19. git pull origin master #直接pull到本地,建议使用这个
  20. git fetch origin master #先fetch
  21. git merge origin/master #后merge
  22. 5)协同开发时冲突的解决(远程库不同人操作)
  23. #如果提交远程时,发现冲突
  24. git pull origin master #直接pull到本地,建议使用这个
  25. vim test.txt #编辑保存退出
  26. git add test.txt #添加到暂存区
  27. git commit -m "resolve conflict" #提交版本到本地仓库
  28. git push origin master #推到远程库
  29. #感受一个例子
  30. #老刘借给小王1W元,告诉小王10天后归还
  31. #老刘的妻子知道借钱但是不知道老刘说的期限后,要求小王5天后归还
  32. #小王就相当于github,他不能接受老刘妻子的请求
  33. #此时老刘妻子要先获取老刘的信息(git pull origin master)
  34. #然后和老刘协商出结果为10天,修改协议 vim test.txt
  35. #添加、本地库、最终提交远程库,小王github接受

****************************************************************************************************************************************************************************

  1. 14、跨团队协作流程
  2. 1)项目的fork
  3. https://github.com/yuebuqun163/jianpu.git #岳创建的项目地址
  4. #东方不能直接拉去,登录自己账户后,先进入上述地址fork一下,注意观察地址栏变化
  5. 2)关联自己的远程库
  6. https://github.com/dongfangbubai126/jianpu.git #东方fork的地址
  7. git remote -v #查看远程库地址信息
  8. git remote add origin https://github.com/dongfangbubai126/jianpu.git #添加远程库地址
  9. vim test.txt #修改文件
  10. git add test.txt #添加到暂存区
  11. git commit -v "create test.txt" test.txt #添加到本地库
  12. git push origin master #推送到远程仓库,首次推送需要输入Personal access tokens(从github获取)
  13. # push不好用的时候,一定要ipconfig /flushdns
  14. #另一种方式是直接克隆
  15. git clone https://github.com/dongfangbubai126/jianpu.git #直接克隆远程仓库
  16. cd 仓库目录 #切换到仓库目录
  17. 3)New pull request
  18. 4)登录岳的账号审核
  19. git pull origin master #最后岳拉取自己的项目到本地即可

****************************************************************************************************************************************************************************

  1. 15、Git工作流
  2. SVN式工作流、团队内协作(邀请)、团队外协作(fork and pull request

****************************************************************************************************************************************************************************

  1. 16、分支流说明
  2. 2345_image_file_copy_12.jpg

****************************************************************************************************************************************************************************

  1. 17、Gitlab服务器搭建
  2. 1)配置Linux固定的IP地址
  3. cd /etc/sysconfig/network-scripts/ #切换目录
  4. ls -l #找到ifcfg-XXX文件并打开编辑
  5. TYPE=Ethernet
  6. PROXY_METHOD=none
  7. BROWSER_ONLY=no
  8. BOOTPROTO=static #重要
  9. DEFROUTE=yes #重要
  10. IPV4_FAILURE_FATAL=no
  11. IPV6INIT=yes
  12. IPV6_AUTOCONF=yes
  13. IPV6_DEFROUTE=yes
  14. IPV6_FAILURE_FATAL=no
  15. IPV6_ADDR_GEN_MODE=stable-privacy
  16. NAME=enp3s0
  17. UUID=ac2edfe1-9923-415c-add7-6b1078d8a684
  18. DEVICE=enp3s0
  19. ONBOOT=yes
  20. IPADDR=192.168.105 #重要
  21. GATWAY= 192.169.70.2 #重要
  22. DNS=192.168.70.2 #重要
  23. 2)安装Gitlab
  24. yum -y install wget #安装wget
  25. wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm #下载镜像
  26. yum install firewalld systemd -y #装防火墙
  27. service firewalld start #启动防火墙
  28. yum install -y curl policycoreutils-python openssh-server #安装ssh协议
  29. systemctl enable sshd #设置ssh自启动
  30. firewall-cmd --permanent --add-service=http #添加HTTP服务到firewalld
  31. firewall-cmd --permanent --add-service=https #添加HTTPS服务到firewalld
  32. systemctl reload firewalld #重启防火墙
  33. yum install postfix #安装Postfix以发送通知邮件
  34. systemctl enable postfix #将postfix服务设置成开机自启动
  35. systemctl start postfix #启动postfix
  36. yum install vim -y #安装vim编辑器
  37. rpm -ivh gitlab-ce-13.1.2-ce.0.el7.x86_64.rpm #安装Gitlab的rpm包
  38. vim /etc/gitlab/gitlab.rb #修改配置文件
  39. #修改访问URL
  40. #格式:external_url 'http://ip:端口'
  41. #external_url 'http://192.168.0.105:8099'
  42. #配置时区
  43. #gitlab_rails['time_zone'] = 'Asia/Shanghai'
  44. #unicorn['port'] = 8001
  45. #postgresql['shared_buffers'] = "256MB"
  46. #postgresql['max_connections'] = 200
  47. firewall-cmd --zone=public --add-port=8080/tcp --permanent #开放端口
  48. firewall-cmd --reload #重启防火墙
  49. gitlab-ctl reconfigure #重新配置Gitlab
  50. gitlab-ctl restart #启动Gitlab
  51. gitlab-ctl stop #停止Gitlab
  52. #最后访问http://192.168.0.105:8099/
  53. systemctl disable gitlab-runsvdir.service # 禁止Gitlab开机自启动
  54. enable gitlab-runsvdir.service # 启用Gitlab开机自启动

****************************************************************************************************************************************************************************

  1. 18、IDEA INTELLIJ、PYCHARM配置GIT
  2. # 先安装Git
  3. # File-Setting-Version Control-选择Git-bin-git.exe
  4. # File-New-Project from version control-GitHub-use token
  5. # VSC-enable version control integration-ok
  6. # VSC-Operations Popup-commit-全选-commit
  7. # VSC-Git-push-输入地址XXX.git-push
  8. # 如果执行报错,打开项目所在git,执行git pull origin master --allow-unrelated-histories然后再push
  9. ----------------------------------
  10. # PyCharm
  11. File -> Settings -> Version Control -> Git-选择Git-bin-git.exe
  12. VCS -> Checkout from Version Control -> Git-use token login
  13. # 上方有git按钮,可以进行addcommit、push、pull、clone操作
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/835769
推荐阅读
相关标签
  

闽ICP备14008679号