Git123Git
Posted cathygx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git123Git相关的知识,希望对你有一定的参考价值。
https://www.cnblogs.com/jager/p/6684637.html
四、git工作原理
这边文章介绍的不错 Git from the Bottom Up
六、git常用命令
- workspace: 本地工作目录
- index:缓存区域,临时保存本地改动
- local repository: 本地仓库
- remote repository:远程仓库
== git配置 == git config --list //查看当前git的配置,Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置) == 查看信息 == git log //查看提交记录 git status //查看修改状态 git diff //查看详细修改内容 git show //显示某次提交的内容 git branch //列出所有本地分支 git tag //列出所有tag git reflog //显示当前分支的最近几次提交 == 新建代码库 == git init //在当前目录新建一个Git代码库 git init [project-name] //新建一个目录,将其初始化为Git代码库 git clone [url] //下载一个项目和它的整个代码历史 == 增加/删除 == git add [file1] [file2] ... //添加指定文件到暂存区 git add [dir] //添加指定目录到暂存区,包括子目录 git add . //添加当前目录的所有文件到暂存区 git rm [file1] [file2] ... //删除工作区文件,并且将这次删除放入暂存区 git mv [file-original] [file-renamed] //改名文件,并且将这个改名放入暂存区 == 代码提交 == git commit -m [message] //代码提交到本地仓库 git commit [file1] [file2] ... -m [message] //提交指定文件到本地仓库 git commit -a //提交工作区自上次commit之后的变化,直接到仓库区 git commit -v //提交时显示所有diff信息 git commit --amend -m [message] //使用一次新的commit,替代上一次提交,如果代码没有任何新变化,则用来改写上一次commit的提交信息 == 分支管理 == git branch -r //列出所有远程分支 git branch -a //列出所有本地分支和远程分支 git branch [branch-name] //新建一个分支,但依然停留在当前分支 git checkout -b [branch] //新建一个分支,并切换到该分支 git checkout [branch-name] //切换到指定分支,并更新工作区 git checkout - //切换到上一个分支 git merge [branch] //合并指定分支到当前分支(如master) git branch -d [branch-name] //删除分支 git push origin --delete [branch-name] //删除远程分支 git branch -dr [remote/branch] //删除远程分支 == 远程同步 == git fetch [remote] //下载远程仓库的所有变动,到index git pull //更新本地仓库至最新改动,到workspace git remote -v //显示所有远程仓库 git remote show [remote] //显示某个远程仓库的信息 git remote add [shortname] [url] //增加一个新的远程仓库,并命名 git pull [remote] [branch] //取回远程仓库的变化,并与本地分支合并 git push origin master //推送至master分支 git push [remote] [branch] //上传本地指定分支到远程仓库 git push [remote] --force //强行推送当前分支到远程仓库,即使有冲突 git push [remote] --all //推送所有分支到远程仓库 == 撤销 == git reset [file] //重置暂存区的指定文件,与上一次commit保持一致,但工作区不变 git reset --hard //重置暂存区与工作区,与上一次commit保持一致 git checkout //从index恢复到workspace git checkout . //恢复暂存区的所有文件到工作区 git checkout -- files //文件从index恢复到workspace git checkout HEAD -- files //文件从local repository复制到workspace == 冲突解决 == git diff //对比workspace与index git diff HEAD //对于workspace与最后一次commit git diff <source_branch> <target_branch> //对比差异 git add <filename> //修改完冲突,需要add以标记合并成功
七、git使用流程规范【重要】
下面是ThoughtBot 的Git使用规范流程,推荐使用:
Create a local feature branch based off master.
Rebase frequently to incorporate upstream changes.
Resolve conflicts. When feature is complete and tests pass, stage the changes.
When you‘ve staged the changes, commit them.
Write a good commit message. Example format:
If you‘ve created more than one commit, use
Share your branch.
Submit a GitHub pull request. Ask for a code review in the project‘s chat room. |
总结大致如下:
- 新建分支
- 提交分支
- 撰写commit信息
- 与主干同步
- 合并commit
- 推送到远程仓库
- 发出pull request,请求别人进行代码review
以上是关于Git123Git的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段