Git常用命令总结
Posted pupillzt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git常用命令总结相关的知识,希望对你有一定的参考价值。
说明:该文章是自己看了廖雪峰Git教程https://www.liaoxuefeng.com/后,从中摘选的总结,为了方便自己记忆和命令格式的使用。
1. git config --global user.name "your name"
git config --global user.email"your email"
git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
2. git init git add <file> git commit -m "message"
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
1. 使用命令git add <file>
,注意,可反复多次使用,添加多个文件;
2. 使用命令git commit -m <message>
,完成。
3. HEAD git reset git log git reflog
HEAD
指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id
。
穿梭前,用git log
可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog
查看命令历史,以便确定要回到未来的哪个版本。
4. 撤销和修改
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file
。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>
,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,上一节,不过前提是没有推送到远程库。
5. git rm git checkout
当文件删除后,git status,有两个选择:
1. 确定删除: git rm <file>, 然后git commit;
2. 删错了,恢复删除,git checkout -- <file>,恢复文件,但是只能恢复到最新版本,并且会丢失最近一次提交后修改的内容。
6. Git 与 GitHub互动
首先要做的是在github上添加SSH KEY:https://www.cnblogs.com/blogzhangwei/p/5944975.html
1. 添加到远程库:$ git remote add origin git@github.com:michaelliao/learngit.git ->
$ git push -u origin master, 之后做了本地提交后就可以git push origin master或者其他分支
2. 从远程库克隆:$ git clone git@github.com:michaelliao/gitskills.git
其中michaelliao修改为自己的giuhub名。
7. branch
1. 查看分支:git branch;创建分支:git branch <name>;切换分支:git checkout <name>;创建+切换分支:git checkout -b <name>;合并分支:git merge <name>;删除分支:git branch -d <name>
2. 解决冲突:把Git合并失败的文件手动编辑为我们希望的内容,再提交。查看分支合并图:git log --graph
3. 分支策略:实际开发中进行分支管理的基本原则:首先,master分支是非常稳定的,仅用来发布新版本,平时不能在上面干活,在分支上干活。合并分支时,加上--no-ff参数可以用普通模式合并,合并后的历史有分支。
4. Bug分支: 先用git stash将正在进行的现场储藏起来,等以后恢复现场后继续工作。从哪个分支修复就从哪个分支创建临时分支,修复完成后切换到所属分支合并。
5. feature分支:当删除没有合并的分支时使用:git branch -D <name>
6. 多人协作和rebase。
8. 标签管理
1. git tag <tagname>:用于创建一个标签,默认为HEAD,也可以指定一个commit id
2. git tag -a <tagname> -m "message" :指定标签信息
3. git tag:查看所有标签
4. git push origin <tagname>:推送一个本地标签
5. git push origin --tags:推送全部未推送过的标签
6. git tag -d <tagname>:可以删除一个本科标签
7. git push origin :refs/tags/<tagname>:可以删除一个远程标签。
以上是关于Git常用命令总结的主要内容,如果未能解决你的问题,请参考以下文章