查看全部分支时时间 git reflog --date=local --all
查看本地分支—— git branch
删除本地分支—— git branch -d 本地分支名称
查看远程分支—— git branch -a
删除远程分支—— git push origin --delete 远程分支名称
git checkout -- filename 撤销对文件的修改,filename 文件未通过git add filename 或git add .方法加入本地仓库
放弃所有文件的修改用git checkout .
已使用git add filename 缓存了文件
git reset HEAD filename
放弃对所有文件的缓存
git reset HEAD .
git branch branch_name 创建分支
git checkout branch_name 切换到分支branch_name
git checkout -b branch_name 创建、并切换到分支branch_name
git rebase
把分叉的提交历史“整理”成一条直线,看上去更直观。缺点是本地的分叉提交已经被修改过了。
git 分布式 版本管理系统
- 分布式(有本地仓库、远程仓库;支持离线工作)
- 三大分区
工作区 <-修改状态-> 暂存区 <--> 本地仓库 <--> 远程仓库
git checkout file_name 撤销对文件的修改
git add file_name 将修改文件由工作区提交到暂存区
git reset file_name
reset 的本质:移动 HEAD 以及它所指向的 branch
git commit file_name 将文件从暂存区提交到本地仓库
git reset --soft HEAD^ 从本地仓库回退到修改到暂存区
git push origin branch_name 推送到远程仓库
git pull origin branch_name 从远程仓库拉取
git commit --amend 修改提交注释
.git 文件夹下文件说明
HEAD 当前位置指针
index 索引文件
~ 和 ^
的作用。查找HEAD的第10个祖先的提交。HEAD10
<rev>~<n> 用来表示一个提交的第n个祖先。如果不指定n。默认为1。
^的作用
<rev>^<n>用来表示一个提交的第n个父提交。如果不指定n, 默认为1。
git show commitId 查看修改内容
git blame file_name -L 10, -5 查询谁修改了某个内容
git revert 和 git reset 的区别?
git revert 撤销某次提交。git reset 会将撤销点之后的操作都回退到暂存区中。
git revert 是用一次新的commit来回滚之前的commit;git reset 是直接删除指定的commit。
git revert 是用一次逆向的commit"中和"之前的提交。因此日后合并老的branch时,导致这部分改变不会再次出现。git reset 操作后不会出现这种问题。
git 的其他删除命令:
git rm --cached readme.txt 从暂存区删除readme.txt, 保留文件在工作区
git rm readme.txt 不但从暂存区中删除,同时删除物理文件
git mv a.txt b.txt 把a.txt 改名为b.txt
git rm -f hello.txt 强制删除文件
git revert 撤销命令
git reset 是指向原地或者向前移动指针。
git revert 是创建一个commit来覆盖当前的commit, 指针向后异动。
git reset --soft xxx (修改版本库, 保留暂存区,保留工作区)
git reset --soft HEAD~1
将版本库回退1个版本,
网友评论