一、创建版本
初始化一个Git仓库git init
添加文件到Git仓库,分两步:
- 可反复多次使用,添加多个文件
git add <file>
git commit -m <message>
二、版本回退
- 查询历史
git log
- 查询未来历史
git reflog
- 回退到历史
git reset --hard commit_id
三、查询版本对比
- 查看当前没有add 的内容修改
git diff
- 查看已经add 没有commit 的改动
git diff --cached
- 查看当前没有add和commit的改动
git diff HEAD
/git status
- 查看任意两个版本之间的改动
git diff 版本号码1 版本号码2
- 比较两个版本号码的src 文件夹的差异
git diff 版本号码1 版本号码2 src
四、撤销修改
git checkout -- file
- 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
- 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit
或git add
时的状态。
回退到工作区 git reset HEAD filename
五、删除文件
git rm filename
git commit -m ""
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
六、同步github
git remote add origin https://github.com/xiaoran6822/learngit.git
git push -u origin master
git push origin master
七、分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
查看分支合并图:git log --graph
非fast forward 合并:git merge --no-ff -m "merge with no-ff" dev
存储: git stash
查询储存位置:git stash list
获取存储并删除:git stash pop
强行删除当前版本:git branch -D feature-vulcan
查看远程库信息,使用git remote -v
##本地常用
git add . (注:别忘记后面的.,此操作是把Test文件夹下面的文件都添加进来)
git commit -m “提交信息” (注:“提交信息”里面换成你需要,如“first commit”)
git push -u origin master
从本地推送分支,使用git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name
本地和远程分支的名称最好一致
建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name
从远程抓取分支,使用git pull
如果有冲突,要先处理冲突。
历史轨迹整理成直线:git rebase
命令git tag <tagname>
用于新建一个标签,默认为HEAD,也可以指定一个commit id;
命令git tag -a <tagname> -m "blablabla..."
可以指定标签信息;
命令git tag可以查看所有标签
删除标签:git tag -d v0.1
命令git push origin <tagname>
可以推送一个本地标签;
命令git push origin --tags
可以推送全部未推送过的本地标签;
命令git tag -d <tagname>
可以删除一个本地标签;
命令git push origin :refs/tags/<tagname>
可以删除一个远程标签。