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

古城微笑少年丶 2023-10-03 22:37 116阅读 0赞

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

一、Git安装使用: 下载地址:

https://www.git-scm.com/Git版本安装验证:" class="reference-link">Gitfavicon.icohttps://www.git-scm.com/Git版本安装验证:

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

二、git克隆仓库的两种情况 1、仓库有代码: git clone 仓库地址/https 2、仓库没有代码,连readme都没有(按操作步骤,上传文件): git init 生成.git目录 git remote add origin 远程仓库地址 #本地仓库关联到远程仓库 git add . 添加到本地 git commit -m ‘备注’ 提交备注(就是你干了什么,写上) git push —set-upstream origin 分支名 刷新远程仓库查看 git remote remove origin 移除本地仓库关联的远程仓库,可重新绑定

#

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

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

git config —global user.name ‘用户名’

git config —global user.email ‘邮箱’

克隆命令: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、git add . 添加到暂存区(开发区域 -> 暂存区);

2、git commit -m ‘备注’提交到本地区域 (暂存区 ->本地区域);

3、git pull 远程仓库的代码拉到本地”合并”;

4、git push 本地代码提交到远程仓库(本地区域 -> 远程区域);

5、git status 查看文件状态;

6、git fetch 远程仓库的数据拉到本地”不合并”;(此命令并不强迫让远端的变更合并到你的仓库,会对本地内容与fetch下载的内容进行隔离;)

五、git代码冲突

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

解决:

1、git pull 从远程仓库拿到最新的代码(先添加到本地git add . ,然后再添加备注git commit -m ‘’ ,然后先拉取.git pull,解决完冲突后,再推送git push)

2、git status 查看状态,根据提示去修改冲突文件

3、重新git add . / git commit -m ‘’ / git push

#

六、git日志回滚

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

1.git log(详细但条数少,回车查看更多)

2.git log —pretty=oneline(相对没有1详细,格式化后的,回车查看更多)

代码回滚(回到你提交的那个版本):

git reset —hard HEAD^ 回退到上个版本

git reset —hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前

git reset —hard commit_id 回退到指定版本(很长,唯一标识前7个字母即可,commit_id就是那个标识字符)

七、git分支

查看分支:

git branch 查看自己创建的(克隆的仓库就算创建的第一个分支)

git branch -r 查看从远程缓存的分支

git branch -a 查看1+2

创建分支:

git branch 分支名 (基于当前分支)

git branch 新分支名 旧分支名 (基于指定分支)

切换分支:

git checkout 分支名

创建并切换分支:

git checkout -b 分支名 (基于当前分支)

git checkout -b 新分支名 旧分支名(基于指定分支)

删除分支:

git branch -d 分支名 (删除分支)

git branch -D 分支名 (强制删除分支)

八、git实操和其它 git stash >存到临时区 git stash list > 查看临时区列表 git stash pop >弹出临时区

git tag >创建本地tag; git push origin >推送到远程仓库; git push origin —tags >若存在很多未推送的本地标签,一次性全部推送; git show >查看本地某个 tag 的详细信息; git tag 或者 git tag -l >查看本地所有 tag; git ls-remote —tags origin >查看远程所有 tag; git tag -d >本地 tag 的删除; git push origin :refs/tags/ >远程 tag 的删除; tag是git版本库的一个标记,指向某个commit的指针,创建 tag 是基于本地分支的 commit,而且与分支的推送是两回事,就是说分支已经推送到远程了,但是你的 tag 并没有,如果把 tag 推送到远程分支上,需要另外执行 tag 的推送命令;

git pull >远程仓库的数据拉到本地”合并”,合并意味着可能存在冲突或者修改,因此每次合并后必定git status查看冲突解冲突(git pull = git fetch + git merge 分支名) git fetchb >远程仓库的数据拉到本地”不合并” git restore 文件名 >恢复之前最新/h恢复已删除(撤消工作区的修改返回到最近一次add(缓存区)的版本或者最近一次commit(当前版本库)的版本)

git log >查看提交历史 git branch >检测分支 git branch dev >创建dev分支 git checkout dev >切换到dev分支 git checkout -b dev >创建并使用dev分支 git checkout master >切回到主分支 git merge dev >把dev合并到master主分支 git branch -v >查看分支 git merge 分支名 >指定分支合并到当前分支

git clone https://gitee.com/fenghuanb2/a2105.git >克隆远层仓库文件到本地文件夹

git remote add origin HTTPS >把本地仓库(文件夹)推到远程仓库(gitee),origin(名字随便起的);

git push origin master:master >把本地仓库主分支推到远程仓库主分支;

git push origin dev:dev >把dev分支添加到名字为origin的远程仓库(或者是git push HTTPS,少用);

git remote -v >查看仓库数量、状态;

git push —set-upstream origin dev >创立本地和远程对应关系;

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(企业级)】。

#

发表评论

表情:
评论列表 (有 0 条评论,116人围观)

还没有评论,来说两句吧...

相关阅读