当前位置:   article > 正文

Git使用总结(git使用,git实操,git命令和常用指令)

Git使用总结(git使用,git实操,git命令和常用指令)

简介:Git是一款代码版本管理工具,可以记录每次提交的代码,防止代码丢失,可实现版本迭代,解决代码冲突,常用的远程Git仓库:Gitee(国内)、GitHub(国外,开源之家)、GitLab(企业级)。



一. Git安装使用

下载地址:

GIt官网icon-default.png?t=N7T8https://www.git-scm.com/Git版本安装验证:

  1. git --version / git -v
  2. //显示
  3. git version 2.37.3.windows.1



二. git拉取代码,git克隆仓库的两种情况

1. 仓库有代码时

git clone 项目地址/https


2. 仓库没有代码时,连readme都没有(按操作步骤,上传文件)
 

  1. git init  生成.git目录
  2. git remote add origin  远程仓库地址 #本地仓库关联到远程仓库
  3. git add .  添加到本地
  4. git commit -m '备注'  提交备注(就是你干了什么,写上)
  5. git push --set-upstream origin 分支名
  6. 刷新远程仓库查看
  7. git remote remove origin  移除本地仓库关联的远程仓库,可重新绑定


三. git克隆仓库的两种方法

1. HTTPS(超文本传输协议),首次使用,初始化个人信息(填写个人用户信息)

  1. git config --global user.name '用户名'
  2. git config --global user.email '邮箱'
  3. 克隆命令:git clone 仓库地址/https

2. SSH(一次声明永久使用)

  1. 生成密钥:ssh-keygen -t rsa -C "邮箱"
  2. 复制公钥:cat ~/.ssh/id_rsa.pub
  3. 配置到远程仓库,举例gitee:设置 ->SSH公钥 -> 添加公钥
  4. 克隆:git clone 仓库地址/SSH


四. git增删改

  1. 1. git add .  添加到暂存区(开发区域 -> 暂存区);
  2. 2. git commit -m '备注'提交到本地区域 (暂存区 ->本地区域);
  3. 3. git pull  远程仓库的代码拉到本地"合并"
  4. 4. git push  本地代码提交到远程仓库(本地区域 -> 远程区域);
  5. 5. git status  查看文件状态;
  6. 6. git fetch    
  7. 远程仓库的数据拉到本地"不合并"
  8. (此命令并不强迫让远端的变更合并到你的仓库,会对本地内容与fetch下载的内容进行隔离;)


五. git日志回滚

查看日志(提交的历史记录):

  1. 1.git log(详细但条数少,回车查看更多)
  2. 2.git log --pretty=oneline(相对没有1详细,格式化后的,回车查看更多)
  3. 代码回滚(回到你提交的那个版本):
  4. git reset --hard HEAD^          回退到上个版本
  5. git reset --hard HEAD~3         回退到前3次提交之前,以此类推,回退到n次提交之前
  6. 回退到指定版本(很长,唯一标识前7个字母即可,commit_id就是那个标识字符)
  7. git reset --hard commit_id    


六. git分支

  1. 查看分支:
  2. git branch 查看自己创建的(克隆的仓库就算创建的第一个分支)
  3. git branch -r  查看从远程缓存的分支
  4. git branch -a  查看1+2
  5. 创建分支:
  6. git branch 分支名 (基于当前分支)
  7. git branch 新分支名 旧分支名 (基于指定分支)
  8. 切换分支:
  9. git checkout 分支名
  10. 创建并切换分支:
  11. git checkout -b 分支名 (基于当前分支)
  12. git checkout -b 新分支名 旧分支名(基于指定分支)
  13. 删除分支:
  14. git branch -d 分支名 (删除分支)
  15. git branch -D 分支名 (强制删除分支)


七. git代码冲突

问题:git push 时报错,原文件冲突

解决:

  1. 1. git pull 从远程仓库拿到最新的代码(先添加到本地git add . ,
  2. 然后再添加备注git commit -m ''
  3. 然后先拉取.git pull,解决完冲突后,再推送git push)
  4. 2. git status 查看状态,根据提示去修改冲突文件
  5. 3. 重新git add . / git commit -m '' / git push


八. git实操和其它

  1. git stash                  //存到临时区
  2. git stash list            //查看临时区列表 
  3. git stash pop            //弹出临时区
  4. git tag  <tagName>               //创建本地tag;
  5. git push origin  <tagName>       //推送到远程仓库;
  6. //若存在很多未推送的本地标签,一次性全部推送;
  7. git push origin --tags     
  8.   
  9. git show <tagName>                  //查看本地某个 tag 的详细信息;
  10. git tag 或者 git tag -l              //查看本地所有 tag;
  11. git ls-remote --tags origin          //查看远程所有 tag;
  12. git tag -d <tagName>                  //本地 tag 的删除;
  13. git push origin :refs/tags/<tagName>  //远程 tag 的删除;
  14. tag是git版本库的一个标记,指向某个commit的指针,
  15. 创建 tag 是基于本地分支的 commit,而且与分支的推送是两回事,
  16. 就是说分支已经推送到远程了,但是你的 tag 并没有,
  17. 如果把 tag 推送到远程分支上,需要另外执行 tag 的推送命令;
  18. //远程仓库的数据拉到本地"合并",合并意味着可能存在冲突或者修改,
  19. //因此每次合并后必定git status查看冲突解冲突(git pull = git fetch + git merge 分支名)
  20. git pull  
  21. //远程仓库的数据拉到本地"不合并"
  22. git fetchb      
  23. //恢复之前最新/h恢复已删除(撤消工作区的修改返回到最近一次add(缓存区)的
  24. //版本或者最近一次commit(当前版本库)的版本)            
  25. git restore 文件名  
  26. git log                           //查看提交历史
  27. git branch                        //检测分支
  28. git branch dev                 //创建dev分支
  29. git checkout dev              //切换到dev分支
  30. git checkout -b dev         //创建并使用dev分支 
  31. git checkout master        //切回到主分支
  32. git merge dev                   //把dev合并到master主分支
  33. git branch -v                  //查看分支
  34. git merge 分支名          //指定分支合并到当前分支
  35. git clone https://gitee.com/fenghuanb2/a2105.git  //克隆远层仓库文件到本地文件夹
  36. //把本地仓库(文件夹)推到远程仓库(gitee),origin(名字随便起的);
  37. git remote add origin HTTPS  
  38. git push origin master:master  //把本地仓库主分支推到远程仓库主分支;
  39. //把dev分支添加到名字为origin的远程仓库(或者是git push HTTPS,少用);
  40. git push origin dev:dev  
  41. git remote -v  //查看仓库数量、状态;
  42. git push --set-upstream origin dev  //创立本地和远程对应关系;
  43. Everything up-to-date  //所有都是最新


⭐隐藏文件和相关问题

一. 隐藏文件

1. .git(非常重要)> config文件存放了push提交的仓库地址

2. .gitignore是git忽略上传的文件


二. 相关问题

1. 切换分支代码丢失?

解决:

第一种:切换分支前,git add .  &&  git commmit -m '备注'

第二种:存到临时区,git add .  &&  git stash  使用的时候再弹出来 git stash pop(弹到当前分支)

2. 大家普遍克隆的是dev  因为它是默认分支,然后老大说一句话  让你拉去login分支代码开发?基于码云的login分支开发代码(即基于远程创建分支)?

解决:

git branch login  错误的  这不是基于码云 git branch 新分支名  指定分支名

git checkout -b login  错误的  这不是基于码云 git checkout -b 新分支名  指定分支名


三. 注意事项

1. 第一次创建分支push到远程仓库时间较长

git push --set-upstream origin 分支名

2. 基于旧分支创建的新分支,新分支有代码(传值)

新旧分支互不影响

3. 切换分支必须git add. && git commit或者git add . &&  git stash(否则代码丢失)


四. Git的相关命令都是通用的,Gitee(国内)、GitHub(国外)、GitLab(企业级)

创作不易,感觉有用,就一键三连,感谢(●'◡'●)

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/764808
推荐阅读
相关标签
  

闽ICP备14008679号