git使用教程及常用命令
1、初次本地git连接远程仓库,并提交代码到远程仓库
第一步 码云上创建仓库
第二步 在需要上传的项目处右键--》git bush here
第三步 初始化本地git库
git init
设定本机用户名,绑定邮箱,让远程服务器知道机器的身份
git config --global user.name "hviger"
git config --global user.email "hviger@qq.com"
输完上面的命令,文件夹中会出现一个.git文件夹
第四步 添加远程仓库,将本地仓库和远程仓库连接起来
git remote add origin https://gitee.com/hviger/ruoyi.git
第五步 添加文件,将本地文件添加到本地仓库
添加全部文件 git add . 或者 git add --all<注意git和add中间有个空格>
添加特定文件使用git add 文件名称<添加多个文件可以重复使用这个或者看下面的这个>
添加多个文件使用git add 文件名称 文件名称 文件名称<中间使用空格隔开>
第六步 创建提交,将文件提交至缓存区
git commit -m '本次代码提交的说明'
第七步 进行代码合并,将本地仓库和远程仓库合并
由于开始创建仓库的时候使用了README初始化仓库,本地没有readme文件,此时本地仓库与远程仓库不同步,所以使用以下命令合并仓库
git pull --rebase origin master
第八步 推到远程代码库
git push -u origin master
git push -u origin master -f (加-f是强制提交)
git push origin master --force //git本地强制覆盖远程
需要注意的是,在push的时候会弹出输入你的用户名和密码正确后才可以。如果推不上去,可能是库的权限问题。
2、再次提交更改
第一步:使用 git add .
git status ---- 查看当前本地文件信息,会显示本地修改了哪些文件
git branch ---- 查看当前分支 提交代码之前一定要看清分支!!!
git rm ss.txt ---- 删除本地代码库文件
git rm -r aaa ---- 删除本地代码库文件夹
第二步:使用 git commit -m "第二次提交"
第三步:避免代码冲突,推送前习惯性先同步代码:git pull origin master ,代码冲突解决方法
第四步:使用 git push origin master 推送至远程仓库
3、远程代码更新到本地,从远程仓库获取代码并合并本地的版本
方式一:
git status(查看本地分支文件信息,确保更新时不产生冲突)
git pull(更新远程代码到本地)
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin
git pull origin master:brantest //将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master //如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
方式二:(git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。)
git fetch --all //将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git fetch orgin master //将远程仓库的master分支下载到本地当前branch中 git log -p master ..origin/master //比较本地的master分支和origin/master分支的差别 git merge origin/master //进行合并
也可以用以下指令:
git fetch origin master:tmp //从远程仓库master分支获取最新,在本地建立tmp分支 git diff tmp //将当前分支和tmp进行对比 git merge tmp //合并tmp分支到当前分支
git fetch --all git reset --hard origin/master (这里master要修改为对应的分支名) git pull
扩展 git branch //查看分支
git branch -a //查看本地和远程的所有分支 git chechout dev //切换分支dev git branch dev //创建dev分支 git chechout -b dev //本地创建 aaa分支,同时切换到aaa分支。只有提交的时候才会在服务端上创建一个分支
删除本地分支
# 会在删除前检查 merge状态(其上游分支或者与head)
git branch -d 分支名
# 直接删除,不检查
git branch -D 分支名
删除远程分支(把本地的删除仓库 push 到远程)
git push origin --delete 分支名
清理本地不存在的分支,如别人删除了dev,但是本地查看还有,就可以执行该条命令
git remote prune 仓库地址
git remote rename new-origin old-origin 重命名远程代码仓库标签
第一次拉取仓库代码提交README.md文件
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
4、强制还原本地
回退上一个版本,撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard origin/master // 注意后缀master代表远程分支
撤销本地所有的更改操作还原到更改前的代码,只需要一个命令(*号代表所有更改的文件):
git checkout -- *
5、git 提交,文件名大小写的修改提交不上去
git 默认对文件名的大小写敏感
但是会在仓库克隆或初始化时,根据当前系统来设置是否忽略大小写
比如 Windows 下会设置为 true → 不区分大小写,而 Linux 中为 false;
git config core.ignorecase false // 可使用此命令来查看你的 git 是否对文件名大小写敏感:为 true 则不敏感,为 false 则敏感
解决方法一:文件重命名命令
git mv test.txt TEST.txt // 将 test.txt 重命名为 TEST.txt
但是如果重命名文件夹 ,直接使用上述命令会报错,可以如下这样迂回修改:
git mv test-dir tmp // 使用 tmp 做一下中间转换 (tmp可以随意起哈)
git mv tmp TEST-DIR
解决方法二:
把待改名的文件先剪切到其他文件夹内 → 提交代码 → 然后再剪切到原本的目录下 → 提交代码。
解决方法三:(不建议)
可执行以下命令更改 git 设置,使其区分文件名的大小写。【 但是不建议使用,还是默认系统的配置好。这种操作会导致远程仓库有问题。】
git config core.ignorecase false
然后正常提交代码,修改会被识别为 untracked 类型的变更,如果直接推送到远程的话,那么远程仓库会同时存在大小写两个版本的文件(本地一切正常)
git rm -r --cached 文件名 // 删除提交到本地仓库的文件
git add . // 重新将文件添加至本地仓库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步