Git教程(李立超git和GitHub使用)

Git教程

配置

  • 配置name和email

git config --global user.name "xxxx"
git config --global user.email "[email protected]"

git status #查看仓库状态
git init #初始化仓库
git add #将文件切换到暂存的状态,未跟踪===》暂存
git add * #将所有的已修改,未跟踪的文件暂存
git commit -m "修改了什么,完成了什么功能" #将暂存的文件存储到仓库中 暂存===》未修改
git commit -a -m "xxx" #提交所有已修改的文件(未跟踪的文件不会提交)
  •  重置文件、删除文件、移动文件
①重置文件
git restore <filename>      #恢复文件,后悔操作时,进行恢复到从前的代码
git restore --staged <filename>             #取消暂存状态
上面这个命令不会取消你的删除操作,此时文件还是不存在的,执行git restore fileName恢复文件,此时文件又存在了。
②删除文件
git rm <filename>                           #删除文件
git rm <filename> -f                        #强制删除
③移动文件
git mv from to                          #移动文件,重命名
git log                                 #查看提交信息  

分支

git 每次代码提交都会创建一个节点

git branch <分支名>                    #创建分支
git branch -d <分支名>                 #删除分支
git branch                            #查看分支
git switch <分支名>                    #切换分支名
#安装GitLens插件,可以在vscode中的COMMIT DETAILS中查看提交graph
git switch -c <分支名>                 #创建并切换分支
git merge <合并的分支名>                #合并分支

注意:vscode +暂存,commit 提交

在实际开发过程中,我们需要做的第一件事情就是git switch -c <分支名>创建分支,在自己的分支上写代码,做到各个分支互不影响,即使自己写的代码再烂,也不影响主分支上的代码。当自己实现了一些功能的时候,需要将自己的代码在主分支上有效,此时我们需要做的就是将自己的代码与主分支进行合并。


合并的方式一:Fast-Forward(分支与主分支在一条线上)

  • 首先git switch master 切换到master分支上
  • 在master分支上执行git merge <想要合并的分支名>
  • 合并完之后,此时已合并的分支就没有作用了(例如bug1分支:代表修改代bug1操作),执行git branch -d bug1将分支bug1删除。

合并的方式二:Fast-Forward(分支与主分支不在一条线上)

  • 此时的操作和方式一类似,只不过最后需要我们手动进行合并。

变基rebase

需要回到变基的分支,在执行

git rebase master

然后回到git switch master 主分支上,在执行git merge <分支名>这样就完成了变基合并。

将本地库上传github:

git remote add origin https://github.com/lilichao/git-demo.git
# git remote add <remote name> <url>

​
git branch -M main
# 修改分支的名字的为main
​
git push -u origin main
# git push 将代码上传服务器上

远程库操作命令

git remote #列出当前关联的远程库 
git remote add <远程库名> <url> #关联远程仓库
git remote remove <远程库名>
git push -u <远程库名> <分支名> # 像远程仓库推送代码,并和当前分支关联
git push <远程库> <本地分支>:<远程分支>
git push # 如果本地的版本低于远程库,push默认是推不上去
git fetch #拉取远程仓库的代码,但是之后必须执行合并操作merge,解决冲突之后,在重新git add、git commit、git push 等操作
git fetch # 要想推送成功,必须先确保本地库和远程库的版本一致,fetch它会从远程仓库下载所有代码,但是它不会将代码和当前分支自动合并
         # 使用fetch拉取代码后,必须要手动对代码进行合并    
git pull  # 从服务器上拉取代码并自动合并 

注意:在push之前,一定要先拉取仓库中的最新代码

标签tag

如果非得要回到后边的节点对代码进行操作,则可以选择创建分支后再操作

git switch -c <分支名> <提交id>

可以为提交记录设置标签,设置标签以后,可以通过标签快速的识别出不同的开发节点:

git tag
git tag 版本
git tag 版本 提交id
git push 远程仓库 标签名 #指定的标签推送到远程仓库
git push 远程仓库 --tags #将所有的标签推送到远程仓库
git tag -d 标签名 # 删除标签
git push 远程仓库 --delete 标签名 # 删除远程标签

.gitignore

默认情况下,git会监视项目中所有内容,但是有些内容比如node_modules目录中的内容,我们不希望它被git所管理。我们可以在项目目录中添加一个.gitignore文件,来设置那些需要git忽略的文件。直接在文件中写需要忽视的文件。

github的静态页面

  • 在github中,可以将自己的静态页面之间部署到github中,它会给我们提供一个地址使得我们的页面变成一个真正的网站,可以供用户访问。

  • 要求:

    • 静态页面的分支必须叫做:gh-pages (git switch -c ph-pages)

    • 如果希望页面可以通过xxx.github.io访问,则需要将仓库的名字配置为xxx.github.io git branch -M xxx.github.io

猜你喜欢

转载自blog.csdn.net/qq_44808827/article/details/128815959
今日推荐