1. git init
初始化本地仓
git init
说明:
命令执行完,则会在当前文件目录下生成.git文件夹(windows下是隐藏的) ,默认会创建默认分支(master),并切换到默认分支
2. git clone xxx.git
拉取远端仓到本地
git clone https://gitee.com/y_project/RuoYi.git
说明:
命令执行完,会在当前文件目录下自动创建本地文件目录,ssh开头的远端仓拉取到本地,需要配置SSH,参考上一篇文章:GIT简介与配置
后续命令默认当前文件目录是受Git版本控制的
3. git remote
管理远端仓,origin可调整,比如设置为"公共仓","个人仓",等等
#修改远端仓
git remote set-url origin [url]
#添加远端仓
git remote add origin [url]
#删除远端仓
git remote rm origin
4. git branch
操作分支
#列出本地所有的分支,当前检出的分支后面会带*(星号),Git Bash终端会高亮显示
git branch
#查看远端所有的分支
git branch -r
#查看本地和远端所有的分支
git branch -a
#新建本地分支(不切换到该新分支)
git branch [分支名]
#重命名分支名(m非强制,M强制)
git branch -m|-M [旧分支名] [新分支名]
#删除分支(d非强制,D强制)
git branch -d|-D [分支名]
#强制删除远端分支(不提交,远端仓会不生效)
git branch -d -r [分支名]
git push origin:[分支名]
5. git checkout
检出分支
#新建本地分支&切换到该新分支
git checkout -b [分支名]
#检出远端分支
git checkout -b [分支名] origin/[分支名]
6. git add
将本地修改的文件添加到暂存区
#添加单个文件到暂存区
git add file1
#添加多个文件到暂存区
git add file1, file2, file3
#添加指定目录文件及其子目录文件到暂存区
git add dir
#添加当前目录文件及其子目录文件到暂存区
git add .
git add -A
git add -u
说明:
-A:包含增删改,.: 仅包含增改,-u:包含删改
6. git commit
提交变更到本地仓
git commit -m '描述文字'
7. git pull
拉取更新
#拉取远端仓,默认拉取当前分支对应的远端仓分支
git pull
#指定origin远端仓develop分支
git pull origin develop
#指定公共远端仓master分支
git pull 公共仓 master
说明:
拉取更新通常需要先将本地修改提交到暂存区,否则拉取出现冲突的时候会提示拉取失败,pull的默认行为 = git fetch origin HEAD + git merge HEAD,HEAD是指向本地当前分支的引用
8. git fetch
更新远端仓
#更新远端仓,默认更新全部远程仓
git fetch
#更新指定origin远端仓develop分支
git fetch origin develop
#更新指定公共远端仓master分支
git fetch 公共仓 master
9. git merge
合并分支,并生成一个merge提交记录
#合并远端仓,默认合并当前分支对应的远端仓分支到本地
git merge
#合并指定origin远端仓develop分支
git merge origin develop
#合并指定公共远端仓master分支
git merge 公共仓 master
#合并本地其他分支
git merge develop
git merge master
说明:
和merge对应的有个rebase(变基) ,通常不推荐使用,rebase会导致此前的提交信息丢失,为了保留此前的提交记录信息,通常使用merge,merge在多人协作的情况化,经常会遇到冲突,由于pull命令是fetch+merge合集,所以也经常会遇到,解决冲突有很多可视化工具,参考下一篇文章:关于Git解决冲突
10. git push
提交本地仓到远端仓
#推送到远端仓,默认推送当前分支对应的远端仓分支
git push
#推送到指定origin远端仓develop分支
git push origin develop
#推送到指定公共远端仓master分支
git push 公共仓 master
说明:
push会遇到冲突,这种情况在多人协作的时候,经常会遇到,有很多可视化工具方便我们去解决冲突,参考下一篇文章:关于Git解决冲突
11. git reset
回退版本,有三种选择 soft,mixed(默认),hard
#默认mixed,回退到上一个版本
git reset
#回退当前版本的暂存区已提交修改
git reset --soft HEAD
#回退到上上个版本
git reset --soft HEAD^^
git reset --soft HEAD~2
#回退到指定提交,commit-id 可以通过 git log 查找到
git reset --soft [commit-id]
#查看暂存区/工作区的代码
git status
说明:
soft:撤回之后所有内容全部放进暂存区,软回退策略
mixed:撤回之后所有内容全部放进工作区中,默认回退策略
hard:撤回并清空工作目录及暂存区所有修改,硬回退策略
参考资料:Git reset 三种模式(hard,soft,mixed)
12. git log
查看提交记录
#查看提交记录
git log
#退出查看
q
#翻页,按键盘即可
page up
page down
↑
↓
说明:
参考资料:git log命令全解析
13. git cherry-pick
称得上是merge魔法,将部分想要的提交直接从目标分支拿到当前分支来
#将某个commit-id合并到当前分支
git cherry-pick [commit-id]
说明:
参考资料:git cherry-pick的使用教程
总结
Git命令本身是很多的,也没必要全记住,掌握常用的即可。现在的可视化工具也很多,不过在了解了常用的命令之后再去使用可视化工具,会友好很多。
后记
详细的命令字典查询可参考其他博客或Git官方文档
git命令大全https://blog.csdn.net/qq_42363495/article/details/104878170Git官方文档
https://git-scm.com/book/zh/v2