ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# :-: git 的使用 1. 首先需要下载安装好git 以及注册好github账号。 2. 初次安装后使用需要设置用户名和邮箱 建议和github 用户名和邮箱相同 3. git config –global user.name ‘用户名’;git config –global user.email ‘邮箱’ 4. ![](https://img.kancloud.cn/ed/fd/edfd1aebe70ce3e805cbebe35c351b0e_419x199.png) 5. 在想创建git 仓库的目录下右键打开git bash here 6. ![](https://img.kancloud.cn/da/85/da858f70cf8a846efb3a0fd01395b195_328x89.png) 7. 开始创建文件目录 可以使用Linux的方法创建 mkdir ‘目录名’ 也可以自己手动创建好 8. 创建好后就需要初始化仓库 指令为 git init 9. ![](https://img.kancloud.cn/38/81/38817c2b3d25dc0a949558ca871f6858_473x64.png) 10. 创建好后可以查看隐藏文件是否有这个目录![](https://img.kancloud.cn/15/23/152309b023aa1a96a855f4e543bd6779_256x39.png) ** ## **实际工作用法** 项目开始 在github 或者码云上创建了 仓库 就可以使用 **git clone '项目地址' ** 下载代码 ### **怎么提交 提交 代码?** ![git add '文件名'](https://img.kancloud.cn/43/ab/43ab71d4393f1712429435bb31e2e75f_520x155.png) 先 **git add '文件名' ** 再 **git commit -m '提交说明'** 最后** git push ** 每天上班来的第一件事 更新代码 **git pull** ### **遇到冲突怎么解决?** ![](https://img.kancloud.cn/1c/4d/1c4d0d6bef181181a4917b441d3fcb19_456x272.png) ![](https://img.kancloud.cn/b6/f5/b6f5d2a511ecdb9061a303d6cd15261b_554x82.png) 1. Git log 查看日志 显示信息全面一点,一般使用git log –pretty=oneline 在一行一行的显示 效果更佳 2. 会退的话 就是使用 git reset –hard ‘版本号’ 回退后想再恢复或者是想看日志 需要看 git reflog ### **怎么创建分支?** ![](https://img.kancloud.cn/15/f5/15f53fafcf94f4f299a425e6572158bd_452x142.png) ![](https://img.kancloud.cn/cf/87/cf871515658d65ccf583050294d4c3d0_381x64.png) ## 本地推送代码到码云 ``` 1.创建本地空文件夹 git init 2.文件添加到缓存区里面去 git add . “.” 全部文件 3.填写提交信息 git commit -m '备注' 4.将本地仓库与远程仓库绑定 git remote add origin url ps:url=>'远程地址' 5.远程库与本地同步合并 git pull origin master 如果出错使用下面强制合并 git pull origin master --allow-unrelated-histories 命令强制合并 6.把本地库的内容推送到远程 git push -u origin master ``` ``` 添加到自己的分支: 创建分支并切换(xl): git checkout -b xl 1.切换到自己分支: git checkout xl 2.查看状态: git status 3.上传文件: git add . 4.添加描述: git commit -m 'update' 5.添加到对应分支: git push origin xl 合并添加到主分支: 1.切换到主分支: git switch master 2.拉取主分支的内容: git pull origin master 3.合并自己xl分支到当前主分支: git merge --no-ff -m '合并' xl 4.上传代码到主分支: git push origin master pull和本地代码有冲突的解决办法: 1.先将本地修改保存起来: git stash 2.pull内容: git pull origin master 3.还原暂存的内容: git stash pop stash@{0} 设置邮箱地址: git config --global user.email 查看所在分支: git branch 合并分支: git merge --no-ff -m '合并' xl 版本回退: git reset --hard commit_id 提交号 提交后直接强推 git push -f ``` git windos 更新版本 报错 ``` curl: (56) OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054 解决办法 git config --global pack.windowMemory "100m" git config --global pack.SizeLimit "100m"  git config --global pack.threads "1" git config --global pack.window "0" 执行后下载就快一点了 查看当前git 版本 git --version 更新命令 git update-git-for-windows ``` git clone 指定版本下载 ``` -b 分支 git clone -b 分支名称 url 命令: git clone -b v5 git地址 ``` 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有`--amend`选项的提交命令来重新提交: ~~~console $ git commit --amend ~~~ 这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。 文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。 例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作: ~~~console $ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend ~~~ 最终你只会有一个提交——第二次提交将代替第一次提交的结果。 ### 怎么创建远程分支? ``` git push --set-upstream origin 分支名称 创建并且推送 ``` ### 怎么删除远程分支和本地分支? ```     git push origin --delete 分支名称  可以删除远程分支 git branch -d 分支名称 可以删除本地分支(在主分支中) ``` ### 怎么查看本地分支关联的远程分支? ![](https://img.kancloud.cn/ef/2e/ef2e2939d87a547245603c3f710e9d1b_340x166.png) ``` git branch -vv 即可 后面加上了最后一次提交的备注 ``` ### 怎么修改本地分支名称? ``` git branch -m 旧分支名 新分支名 ``` ![](https://img.kancloud.cn/7b/cd/7bcd6d931ecce1df169d9a42c4509a29_320x63.png) ### 怎么关联远程分支? ``` git push --set-upstream origin 新分支名 ``` ### 怎么删除远程分支? ``` git push origin -d 旧的远程分支名 (需要切换到其他分支删除) ``` ### 当前分支正在开发中已经修改了一些(不是新加的文件。新文件没有加入暂存区不会被追踪,故不影响),此时需要切换到其他分支去修改文件怎么办? ``` 使用 git stash 存储代码 后 就可以使用 git switch 分支名 切换了 后续开发完成后回来 使用 git stash pop 即可恢复之前修改的时候 ``` ### 创建新项目后如何关联仓库? 前提配置好了 git全局设置 ~~~ git config --global user.name "姓名" git config --global user.email "邮箱@qq.com" ~~~ 方式一:克隆仓库 ~~~ git clone 仓库地址 cd 项目根目录 touch README.md git add README.md git commit -m "add README" git push -u origin master ~~~ 方式二:已有文件夹或仓库 ~~~ cd existing_folder git init git remote add origin 仓库地址 git add . git commit git push -u origin master ~~~