git使用
git使用
1. git管理图
-
git fetch
从远程仓库(remote repository)拉取最新的分支, 但不与本地分支进行合并(merge).
这篇文章解释挺好Git:远程分支----git fetch命令的使用
与远程同步命令git fetch origin master # 从远程的origin/master分支拉取到本地 git fetch origin master:test # 从远程的origin/master分支拉取到本地, 并新建一个test分支
如果还想手动合并到本地master分支上
git chekout master # 切到master分支 git merge origin/master # 手动合并origin/master分支 git merge test # 手动合并test分支 git branch -d test # 手动删除test分支
-
git pull
从远程仓库(remote repository)拉取最新的分支同时进行与本地分支合并(merge).
也就是:git pull = git fetch + git merge
git pull <远程主机名> <远程分支名>:<本地分支名>
如将远程主机origin/master分支拉取过来,与本地的test分支合并
git pull origin master:test # 将远程主机origin/master分支拉取过来,与本地的test分支合并
如果将冒号和后面的test去掉,表示将远程origin/master分支拉取下来与本地master分支合并。
git pull相当于git fetchgit fetch origin master # 将远程主机origin/master分支拉取过来并新建到test分支 git chekout master # 切到master分支 git merge origin/master # 手动合并origin/master分支到master上
-
git clone
git clone是将远程仓库(remote repository)克隆到本地来, 包括了远程仓库的所有版本变化, 放在.git文件夹下.git clone <远程仓库url> <保存到的本地目录名>
其中
保存到的本地目录名
如果不要, 就保存到当前路径下git clone https://github.com/XiWJ/tricks.git
-
git add
git add
作用就是将需要提交的代码从工作区(workspace)添加到暂存区(index),就是告诉git,要提交哪些文件,之后就可以使用git commit命令进行提交了。git add readme.txt # 添加readme.txt到暂存区 git add . # 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git add -u # 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add -A # 等于前面两个命令之和, 提交所有变化
-
git commit
git commit
命令用来将本地暂存(index)的修改提交到版本库(repository)。git commit -m '提交信息' # 提交并添加提交的信息
-
git push
在使用git commit
命令将修改从暂存区(index)提交到本地版本库(repository)后,最后一步将本地版本库的分支推送到远程服务器(remote repository)上对应的分支.git push <远程主机名> <本地分支名> : <远程分支名> git push origin master:refs/for/master # 将本地的master分支推送到远程主机origin上的对应master分支
2. 分支管理
参考文献git分支的理解
-
git branch
创建dev分支git branch dev
-
git checkout
切换分支git checkout dev # 切到dev分支
创建并切到test分支
git checkout -b test
-
git merge
git checkout master # 切到master分支 git merge dev # 合并dev分支. git branch -d dev # 合并完了删除dev分支
-
pull request
参考文章:GitHub Pull Request入门 -
git rebase
参考文章: 详解git rebase,让你走上git大神之路
rebase的功能说白了可以提取我们在A分支上的改动,然后应用在B分支的代码上git checkout bugFix # 切到bugFix分支 git rebase master # 将bug修复后的分支接到master经过进一步开发后的分支后
3. 命令行控制
- 将项目的所有文件添加到仓库中
git init
- 将项目的所有文件添加到仓库中
git add .
- 将add的文件commit到仓库
git commit -m "注释语句"
- 将本地的仓库关联到github上
git remote add origin https://github.com/XiWJ/tricks
- 上传github之前,要先pull一下
git pull origin master
- 最后一步,上传代码到github远程仓库
git push -u origin master
4. 图形界面管理Git
-
GitHub Desktop for Linux
更加快速便捷管理自己的repo, 使用github desktop,Windows下直接谷歌下载, Linux使用下面的链接安装
GitHub Desktop for Linux -
SourceTree for Mac
Mac OS下使用SourceTree管理git, 方便多人共同维护一个repository..
SourceTree官网
5. Q&A
- Q: fatal: unable to access 'https://github.com/XiWJ/*****/': Could not resolve proxy: proxy.server.com
git config --global --unset http.proxy
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通