commit git 指定的文件_Git 的简单使用
Git作为一个开发者必备的技能,相信很多人都听说过。为了帮助刚入门的同学更好地理解,能快速运用在工作和学习中,接下来先从基础开始吧~那Git有什么优势呢?1. 适合分布式开发,强调个体,即本地仓库的修改不会影响到别人的仓库,减少了“仓库污染”;2. 公共服务器压力和数据量都不会太大;3. 速度快、灵活;4. 任意两个开发者之间可以很容易地解决冲突;5. 可以离线工作,即在离线状态下,若工...
Git作为一个开发者必备的技能,相信很多人都听说过。
为了帮助刚入门的同学更好地理解,能快速运用在工作和学习中,接下来先从基础开始吧~
那Git有什么优势呢?
1. 适合分布式开发,强调个体,即本地仓库的修改不会影响到别人的仓库,减少了“仓库污染”;
2. 公共服务器压力和数据量都不会太大;
3. 速度快、灵活;
4. 任意两个开发者之间可以很容易地解决冲突;
5. 可以离线工作,即在离线状态下,若工作区存在修改,可以将自己的更改先提交至本地仓库,待有网络后再提交至远程仓库。
Workspace:工作区
工作区是对项目的某个版本独立提取出来的内容。这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
Index/Stage:暂存区
暂存区是一个文件,保存了下次将要提交的文件列表信息,一般在 Git 仓库(.git)目录中,按照 Git 的术语叫做“索引”。
Local Repository:本地仓库
Remote Repository:远程仓库
1. 初始化
1. 在当前目录新建一个Git代码库
// 以下命令会创建一个名为.git的子目录,包含了初始化的Git仓库中所有的必须文件git init
2. 下载远程仓库的项目至本地
git clone // 若想在克隆远程仓库时,自定义本地仓库名git clone
2. 配置
1. 设置git的通用配置
git config
2. 区分三个不同位置的配置
/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。如果执行 git config --system,那么它就会读写该文件中的配置变量。(由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。)
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 当执行git config --global 选项让 Git 读写此文件,这会对你系统上所有的仓库生效。
当前使用仓库的 Git 目录中的 config 文件(即 .git/config):针对该仓库。 当执行 git config --local 让 Git 强制读写此文件,虽然默认情况下用的就是它 (当然,你需要进入某个 Git 仓库中才能让该选项生效。)
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true[remote "origin"] url = https://github.com/muer11/blogDemo.git fetch = +refs/heads/*:refs/remotes/origin/*[branch "master"] remote = origin merge = refs/heads/master
3. 添加 / 删除
1. 添加指定文件/文件夹到暂存区
git add
2. 添加当前目录的所有文件到暂存区
git add .
3. 逐行检查并提交
git add -p
4. 删除工作区文件,并将这次删除放入暂存区
git rm
4. 代码提交
1. 提交暂存区修改到本地仓库,并填写备注
git commit -m
2. 提交暂存区的指定文件到本地仓库
git commit ... -m
3. 修改上一次提交的内容或备注信息
git commit --amend
4. 追加新的内容到上一次未push的提交
git commit --amend --no-edit
5. 分支
1. 查看所有本地分支
git branch
2. 查看所有远程分支
git branch -r
3. 查看所有远程和本地的分支
git branch -a
4. 新建一个分支,并依然停留在当前分支
git branch
5. 新建一个分支,并切到该新建的分支
git branch -b
6. 新建一个分支,并与指定的远程分支建立追踪关系
git branch --track
7. 切换至指定分支,并更新工作区
git checkout
8. 切换至上一个分支 **
git checkout -
9. 在现有分支和指定的远程分支间建立追踪关系
git branch --set-upstream
10. 合并指定分支到当前分支
git merge
11. 将指定的commit应用于其他分支
git cherry-pick
12. 删除本地分支
git branch -d
13. 删除远程分支
git push origin --delete
6. 远程同步
1. 下载远程仓库的所有变动
git fetch
2. 显示所有远程仓库的配置
git remote -v
3. 增加一个新的远程仓库,并进行命名
git remote add
4. 更新远程分支的变化
git pull
5. 推送本地指定分支到远程仓库
git push
7. 撤销
1. 恢复暂存区的指定文件至工作区
git checkout
2. 恢复暂存区的所有文件到工作区
git checkout .
3. 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
git reset
4. 重置暂存区和工作区,与上一次commit保持一致
git reset --hard
5. 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
git reset
6. 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit 一致
git reset --hard
7. 新建一个commit, 用来撤销指定commit
git revert
8. 暂时将未提交的变化暂存、取出暂存区内容
git stashgit stash pop
8.信息查询
1. 获取帮助
git help git -h
2. 查看提交历史
git log
3. 显示变更的文件
git status
4. 根据关键词搜索提交历史
git log -S
5. 显示某个文件的历史版本
git log --follow
6. 显示指定文件的详细提交记录
git blame
7. 显示暂存区和工作区的差别
git diff
8. 显示某次提交的元数据和内容变化
git show
9. 显示某次提交时,某个文件的内容
git show :
切记:结合实践来更好地理解,温故而知新~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)