git 命令

1 创建版本库  mkdir learngit

                        cd learngit

                        pwd  //当前目录

                         git  init //命令把这个目录变成Git可以管理的仓库

                        git add  //告诉Git,把文件添加到仓库

                        git commit //命令,-m后面输入的是本次提交的说明,可以输入任意内容

                        git diff 

                        git checkout -- readme.txt   // 命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令 .意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

                            git reset HEAD file  可以把暂存区的修改撤销掉(unstage),重新放回工作区

HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id

穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

                                git checkout -b 命令加上-b参数表示创建并切换,相当于以下两条命令:

                                $ git branch dev   // git  branch 命令会列出所有分支,当前分支前面会标一个*号

                                $ git checkout dev

                                 git  config --global alias.st status     //配置别名 

                                  git branch 查看分支

                                  git branch 创建分支

                                  git checkout 切换分支

                                  git checkout -b 创建+切换分支

                                   git  merge 合并某分支到当前分支

                                   git branch -d 删除分支

                                    git log --graph命令可以看到分支合并图

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop(也可以用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除),回到工作现场;

如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除

                               git remote -v;//查看远程库信息 ,本地新建的分支如果不推送到远程,对其他人就是不可见的;

                                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 push origin //可推送 本地标签

                                    git push origin --tags //可推送全部未推送过的本地标签

                                    git tag -d //可删除一个本地标签

                                    git push origin:refs/tags///可以删除一个远程标签

你可能感兴趣的:(git 命令)