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>:可以删除一个远程标签。

原文地址:https://www.cnblogs.com/pupilLZT/p/9254811.html