git 命令集合
其他
2021-03-03 14:45:18
阅读次数: 0
.git add
git add <file>
把文件修改添加到暂存区
git add -A
提交所有变化
git add -u
提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add *
// 添加新建文件和修改,但是不包括删除
git add .
提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
.git commit -m <message>
把暂存区的所有内容提交到当前分支
.git status
让我们时刻掌握仓库当前的状态
.git diff
git diff
#是工作区(work dict)和暂存区(stage)的比较
git diff --cached
#是暂存区(stage)和分支(master)的比较
git diff HEAD -- <file>
查看工作区和版本库里面最新版本的区别
.git log
git log
查看提交历史
git log --pretty=oneline
历史记录 简版 92e837bfed08f256d3138ae0f9d03347205079f2 parkAction
git log --oneline
历史记录 精简版 92e837bfe parkAction
git log --pretty=oneline --abbrev-commit
历史记录 精简版
git reflog
查看命令历史
git log --graph
分支合并图
.git reset
既可以回退版本,也可以把暂存区的修改回退到工作区。HEAD表示最新版本。
git reset --hard HEAD^
回退到上一个版本
git reset --hard commit_id
回退到某一个版本
git reset HEAD <file>
暂存区的修改撤销掉(unstage),重新放回工作区
.git branch
查看分支
git branch <name>
创建分支
git branch -d <name>
删除分支
git checkout -b branch-name origin/branch-name
在本地创建和远程分支对应的分支
git branch -D <name>
丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除
git branch --set-upstream-to <branch-name> origin/<branch-name>
指定本地dev分支与远程origin/dev分支的链接
.git merge <name>
合并某分支到当前分支
git merge --no-ff -m "<message>" <name>
禁用Fast forward
.git checkout
git checkout <name>
切换到另一个分支
git checkout -b <name>
创建+切换分支
git checkout -- <file>
丢弃工作区的修改,其实是用版本库里的版本替换工作区的版本
.git rm
从版本库中删除文件 (先手动删除文件,然后使用git rm 和git add效果是一样的。需要commit)
.git stash
把当前工作现场“储藏”起来,等以后恢复现场后继续工作
git stash list
查看刚才的工作现场存到哪去了
git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用git stash drop
来删除
git stash pop
恢复的同时把stash内容也删了
git stash apply stash@{0}
恢复指定的stash
.cd ~
进入用户主目录
.cat <file>
查看文件
.git push
把本地库的内容推送到远程
已有项目关联至远程新库
$ git remote add origin git@server-name:path/repo-name.git
关联一个远程库
$ git push -u origin master
第一次推送master分支的所有内容
远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
远程库是空的,第一次推送master分支时,加上了-u,Git不但会把本地的master分支内容推送的远程新的master分支,还会把两者关联起来,在以后的推送或者拉取时就可以简化命令。
$ git push origin master
从现在起,只要本地作了提交,就可以通过命令:
.git remote
查看远程库的信息
git remote -v
更详细的信息
git push origin master
推送时,要指定本地分
.git clone [email protected]:michaelliao/learngit.git
- 从远程库clone时,默认情况下,你的小伙伴只能看到本地的master分支
- 要在dev分支上开发,就必须创建远程origin的dev分支到本地
git checkout -b dev origin/dev
git rebase操作可以把本地未push的分叉提交历史整理成直线;
- rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
转载自blog.csdn.net/m0_37285193/article/details/97274528