git常用命令
SVN:集中式版本控制
Git:分布式版本控制
git官网:
git淘宝镜像地址:
工作流程:工作区 ---> 暂存区 ---> 本地仓库 ---> 远程仓库
二、Git环境配置
1 #查看[全局]配置: 2 git config [--global] --list
1 #设置提交代码时的用户名和邮箱: 2 git config [--global] user.name "[name]" 3 git config [--global] user.email "[email address]"
1 #重置用户名和密码 2 git config --replace-all user.name "[name]" 3 git config --replace-all user.email "[email address]"
三、Git常用命令
1 #在当前目录新建一个Git代码库 2 git init 3 4 #下载一个项目和它的整个代码史 5 git clone [url]
2、增加/删除文件
#添加指定文件到暂存区 git add [file1] [file2] ... #添加指定目录到暂存区,包括子目录 git add [dir] #添加当前目录的所有文件到暂存区 git add . --------------------------------------------- #删除工作区文件,并将这次删除放入暂存区 git rm [file1] [file2] ...
3、代码提交
1 #提交暂存区到仓库区 2 git commit -m "[message]" 3 4 #提交暂存区的指定文件到仓库区 5 git commit [file1] [file2] ... -m "[message]"
4、分支
1 #查看本地所有分支 2 git branch 3 4 #查看远程所有分支 5 git branch -r 6 7 #查看所有分支(本地分支和远程分支) 8 git branch -a 9 10 #查看每一个分支的最后一次提交 11 git branch -v 12 13 #新建一个分支(但仍然留在当前分支) 14 git branch [branch-name] 15 16 #切换到指定分支 17 git checkout [branch-name] 18 19 #新建一个分支并切换到该分支(组合用法) 20 git checkout -b [branch-name] 21 22 #拉取远程分支并在本地创建分支(注:远程分支前加origin) 23 git checkout -b [local_branch] origin/[remote_branch] 24 25 #建立本地仓库(dev)和远程仓库(dev)的链接,这样代码才能提交上去 26 git branch --set-upstream-to=origin/dev 27 #取消对master的跟踪 28 git branch --unset-upstream master 29 30 #合并指定分支(branch-name)到当前分支(一般在master上操作) 31 git merge [branch-name] 32 33 #删除本地分支 34 git branch -d [branch-name] 35 36 #删除远程分支(写法一),危险操作 37 git branch -r -d [远程仓库别名/远程分支名] 38 #删除远程分支(写法二) 39 git push origin --delete [branch-name] 40 #删除远程分支(写法二简写) 41 git push origin :[remote_branch] 42 43 #重命名分支:如果newbranch名字已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名 44 git branch -m|-M [oldbranch-name] [newbranch-name]
5、查看信息
1 #查看所有文件状态 2 git status 3 4 #查看指定文件状态 5 git status [filename]
6、远程同步
1 #下载远程仓库的所有变动 2 git fetch <远程仓库别名> 3 4 #显示所有远程仓库 5 git remote -v 6 7 #本地仓库添加一个新的远程仓库,并命名 8 git remote add [远程仓库别名:默认origin] [远程仓库地址url] 9 10 #下载一个项目和它的整个代码史(不用初始化仓库) 11 git clone [url] 12 13 #拉取远程仓库的变化,并与本地分支合并(建立链接) 14 git pull <远程仓库别名> [远程分支名]:[本地分支名] 15 #简写:(远程分支名和本地分支名相同) 16 git pull <远程仓库别名> [分支名] 17 18 #推送到远程仓库(branch-name:本地分支名) 19 git push -u <远程仓库别名> [branch-name] 20 #远程已有分支,但未关联本地分支(本地已切换到同名分支) 21 git push -u origin/remote_branch 22 23 #创建远程分支&推送本地分支到远程分支 24 #1、会创建远程分支 25 #2、远程分支与本地分支名字相同 26 git push <远程仓库别名> [远程分支名] 27 28 #强行推送当前分支到远程仓库,即使有冲突 29 git push <远程仓库别名> --force 30 31 #推送所有分支到远程仓库 32 git push <远程仓库别名> --all
四、Git实战
一、暂存区提交与撤销
1、比较工作区和仓库的不同
修改文件后直接commit(只在工作区修改,没有commit到git仓库)
1 执行 2 git diff HEAD -- [文件名] 3 比较工作区和仓库的不同
1 差异比较说明: 2 '---':表示变动前的文件 3 '+++':表示变动后的文件 4 变动的位置用两个@符号作为开始和结束 5 '-0,0':减号表示第一个文件,第一个0表示第0行,第二个0表示连续0行; 6 '+1,2':加号表示第二个文件,第一个1表示第1行,第二个2表示连续2行;
2、暂存区删除文件
git reset HEAD [文件名]
二、版本回退
1、查看日志
git log
2、回到上一个版本
1 git reset --hard HEAD^
3、回到上两个版本
1 git reset --hard HEAD^^
4、回到指定版本
1 git reset --hard HEAD~3 2 #回到3个版本前
5、查看所有版本信息
git reflog
6、回到指定版本
1 git reset --hard [唯一id]
7、查看简洁版本信息
git log --pretty=oneline
三、版本删除
1、取消删除
工作区删除文件,取消删除(git仓库没有删除)
1 git restore [工作区删除的文件名]
2、从版本库拉回
1 git checkout [工作区删除的文件名]
3、从版本库删除
1 git rm [版本库中要删除的文件名]
四、远程仓库
1、查看本地仓库提交的内容
1 git ls-files
2、添加远程仓库
1 git remote add [远程仓库别名:默认origin] [远程仓库地址url] 2 #eg:git remote add origin https://github.com/...
3、推送到远程仓库
1 git push -u origin master
4、使用SSH地址
-
生成密钥
ssh-keygen -t rsa -C "github/gitee账户邮箱"
-
密钥地址:
1 /c/Usres/Administrator/.ssh/id_rsa
-
在github或者gitee设置中找到SSH设置 ---> 新建SSH,添加公钥(不要加密钥)
-
其他同https
五、本地分支操作
1、查看所有分支
1 git branch
2、新建分支并切换
1 git checkout -b [new_branch-name]
3、删除指定分支
1 git branch -d [branch-name]
4、切换指定分支
git checkout [branch-name]
5、合并分支
合并指定分支到当前分支(当前分支为master,此操作在master分支上进行),禁止合并主分支到其他分支
1 git merge [branch]
6、重命名分支
如果newbranch名字已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名
1 git branch -m|-M [oldbranch] [newbranch]
六、远程分支操作
1、查看远程所有分支
1 git branch -r
2、查看本地和远程所有分支
1 git branch -a
3、创建远程分支&推送本地分支到远程分支
1 git push origin [branch-name] 2 #1、会创建远程分支 3 #2、远程分支与本地分支名字相同
4、删除远程分支(本地分支还保留)
危险操作
注:注意冒号
1 git push origin :[remote_branch]
5、拉取远程分支并在本地创建分支
注:远程分支前加origin
1 git checkout -b [local_branch] origin/[remote_branch]
七、本地分支冲突解决
1、本地分支修改文件
2、切换分支
1 git checkout master
3、本地master分支修改文件
4、主分支进行合并
1 git merge dev1
5、冲突解决方法
根据业务进行手动解决
解决冲突后重新add,commit
6、查看分支合并图
1 git log --graph --pretty=oneline
八、多人冲突解决
1、先拉取
1 git pull
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧