1 Git整体架构


2 Git常用命令
| 命令 | 作用 |
|---|---|
| git config --global user.name | 指定作用域,设置项目用户名 [–local, --system] |
| git config --global user.email | 指定作用域,设置项目用户邮箱 [–local, --system] |
| git config --list --global | 查看配置 |
| git add file_name | 把a从工作区提交到暂存区 |
| git add -u | 把所有git跟踪的文件(工作区文件)提交到暂存区 (u: update) |
| git commit -m message | 将暂存区内容提交到版本仓库 |
| git commit -am’messeg’ | 将工作区内容直接提交到版本仓库 |
| pwd | 查看当前工作的路径 |
| ls -al | 查看当前文件夹的所有文件 |
| git ls-files | 查看暂存区的所有文件 |
| clear | 清空屏幕 |
| echo “readme massege” > README.md | 创建readme.md并写入message |
| ssh-keygen -t rsa -C “your email” | 生成公钥私钥 |
| git remote add origin git@git.com:username/name.git | 关联远程仓库,origin为关联名 |
| git push origin master | 提交代码到远程仓库,master为为分支名,默认为master |
| cp file_path . | 将指定文件拷贝到当前目录 |
| cp file_path new_file_name | 将指定文件拷贝到当前目录,修改命名为new_file_name |
| cp -r folder_path . | 把目录folder拷贝到当前路径, (r: recusive 递归的意思) |
| git log | 查看当前分支版本历史 |
| git log --oneline | 简洁地查看当前分支版本历史 |
| git log -nk --online | 简洁地查看最近的k次版本历史 |
| git log --all | 查看所有分支版本历史 |
| git log --all --graph | 以图形界面形式查看所有分支版本历史 |
| mkdir folder_name | 创建文件夹 |
| rm -r folder_name | 删除文件夹 |
| q | 出现(end)时按q即可推出 |
| vi your_script name | 使用vim打开脚本 |
| mv file_name new_file_name | 把文件移动或重命名 |
| git branch -v | 查看本地所有分支 |
| git branch branch_name commit_d(可省略) | 根绝某次commit创建分支,若省略commit_id则使用HEAD指向的commit |
| git checkout branch_name/ commit id | 切换到分支/某次commit(分离头指针) |
| git checkout -b branch_name | 使用当前HEAD指向的commit创建分支,并切换到分支 |
| git restore file | 丢弃某个文件在工作区的改动 |
| git help --web log | 从web浏览器查看log命令的帮助 |
| cat file_name | 查看工作区文件内容 |
| git cat-file -t file_name | 查看对象类型,(commit, tree, blob) |
| git cat-file -p file_name | 查看对象内容 |
| git branch -av | 查看所有分支的详细信息 |
| gik --all | 打开git图形界面 |
| git diff <HEAD~n> <HEAD~m> | 比较HEAD前n次与HEAD前m次commit的差异 |
| git branch -d branch_name | 删除分支 |
| git commit --amend | 修改最近一次commit的massege |
| git rebase -i pre_commit_id | 修改之前某次提交的commit,后续采用reward |
3 Git对象commit, tree, blob的关系

- commit: commit指代一次提交,记录了这次提交中所有项目文件的状态。如上图中,一次commit的信息由tree, parent, author, committer, message组成,这里的tree代表了整个项目文件夹。
- tree:tree代表某文件夹中的所有的内容,如果该文件夹中有子文件夹,那么该tree中将包含代表了子文件的tree,如上图912fa6所示。
- blob:blob代表了一个文件,比如一个txt文本文件,或者png图片文件,被tree所包含。
本文介绍了Git的基本架构和常用命令,包括配置用户信息、提交文件、查看版本历史等操作。同时,阐述了Git对象(commit、tree、blob)之间的关系,commit记录文件状态,tree表示文件夹内容,blob代表单个文件。此外,还提供了与远程仓库交互及分支管理的方法。
494

被折叠的 条评论
为什么被折叠?



