美文网首页
Git命令集---学会这些,让你git中"横行"

Git命令集---学会这些,让你git中"横行"

作者: 宇杭_1157 | 来源:发表于2018-03-22 17:15 被阅读0次

1.git init(将本地文件初始化成git可管理的仓库,工作区会出现.git---版本库)

2.git add file/.(将工作区的修改添加到暂存区)

3.git commit -m "注释"(将暂存区的提交到master区;"注释"---本次提交的核心内容,以便别人阅读)

4.git status(查看当前的仓库状态)

5.git log(查看当前的提交日志)

6.git log --pretty=oneline(精简日志信息)

7.git reset --hard HEAD^(版本倒退,^表示倒退一个版本,^^表示倒退两个版本,^^^表示倒退三个版本;倒退四个版本及以上的用阿拉伯数字代替)

8.git reset --hard HEAD commit_id(表示快进到未来的某个版本,commit_id为提交的id)

9.git reflog(记录过往的每次操作)

10.git checkout -- file(撤销工作区的修改)

11.git reset HEAD file(撤销暂存区stage的修改)

12.git rm file(删除git仓库的file)

如何链接远程仓库?这里不做详细说明,请阅读>>https://www.jianshu.com/p/2cbaa5a0da67

Master

           1)条分支都是一条时间线,有每次提交组成。HEAD指向的是master,master指向每次提交

           2)Git用master指向最新提交,再由HEAD指向master,这样就能确定当前分支以及当前的提交点

           3)git branch(查看分支)

           4)git branch <name>(创建分支)

           5)git checkout <name>(切换分支)

           6)git checkout -b <name>(创建+切换分支)

           7)git merge <name>(合并某分支到当前分支)

           8)git branch -d <name>(删除分支)

           9)git log --graph --pretty=oneline --abbrev-commit(--graph分支合并图、--pretty=oneline精简提交信息、--abbrev-commit、只取提交日志的common_id的前7位字符)

--pretty=oneline --abbrev-commit

分支管理策略:

           1)Fast-forward"快速合并"模式,删除分之后,分支信息通常会消失;

           2)强制禁止"快速合并"模式,即--no-ff模式下合并,git会产生一个新的commit,且分支历史上会有分支信息;

                        git merge --no-ff -m "merge with no-ff" dev

bug分支:

           当你在做新功能的时候(还没有完成,不能进行代码提交),突然需要马上处理一个bug。

           git stash:将当前的工作现场储藏起来

           穿件临时分支,解决bug

           git stash list:查看工作现场储藏在哪个地方

           回复工作现场:

                    1)git stash apply(回复后,stash内容不会被删除,git stash drop删除stash内容)

·                   2)git stash pop

Feature分支:

           开发一个新feature,最好创建feature分支

           删除还没有被合并的分支git branch -D <name>(强制删除,将会对其所有的修改)

多人协作:

           多人些协作的情况下,每个人需要从远程仓库与本地的仓库一一对应起来

           git remote查看远程仓库的信息

           git remote -v查看远程仓库的详细信息(包含抓取和推送的地址,必须是有权限的)

推送分支:

           git push origin master(将本地分支推送到远程仓库对应的分支上,master可变)

抓取分支:

           多人写作的情况下,A、B同时git clone克隆了远程仓库的代码(默认只能看到master分支),A需要在另一个分支上修改,需要在本地创建一个与远程仓库想对应的分支,然后,修改push;B页做了同样的修改,并试图push,则提交失败,需要先pull一下,然后在push,结果pull失败,原因是因为,本地的仓库与远程仓库对应的分支没有连接,设置本地与远程分支的链接:git branch--set-upstream <name> origin/<name>,然后pull,pull成功了(自动合并,出现冲突),手动解决冲突,再提交,再push

           git branch--set-upstream dev origin/dev(将本地的分支与远程的分支链接起来)

标签管理:

           作用:生成git版本快照,标签是版本库的快照,但其实他是指向某个commit的指针(类似于分支,但是分支可以移动,标签不可以移动)

           git tag <tagname>(创建标签,默认情况下是最新提交)

           git tag <tagname> commit_id

           git show <tagname>

查看标签信息

           git show  -a/-s <tagname> -m "标签说明"(还可以带标签说明,-a指定标签    -m添加说明)

           -a代表标签说明        -s代表PGP签名说明

           git tag(查看所有标签)

标签操作:

           git tag -d <tagname>(删除标签)

           git push origin <tagname>(推送标签到远程仓库,默认情况下不会自动push)

           git push origin --tags(一次性把未推送的本地仓库标签,推送到远程仓库)

           如果以推送到远程仓库,想要删除

                    1)先本地删除---git tag -d <tagname>

                    2)再将删除命令push到远程仓库,格式:git push origin :refs/tags/<tagname>

强大的GIT还可以自定义命令,这种做法,本人不赞成,因为很可能会容易产生错误。

搭建Git服务器://需要Linux系统,建议Debian/Ubuntu/虚拟机

           前提:sudo权限的用户账号

           第一步:$ sudo apt-get install git(安装git)

           第二步:$ sudo adduser git(创建一个git用户,用来运行git服务)

           第三步:公钥(id_rsa.pub)导入到/home/git/.ssh/authorized_keys文件里,一行一个

           第四步:$ sudo git init --bare sample.git(初始化仓库,选定一个目录作为Git仓库),$ sudo chown -R git:git sample.git

           第五步:禁用shell登录,可以通过编辑/etc/passwd文件完成

                          将git:x:1001:1001:,,,:/home/git:/bin/bash改为

                          git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

                          这样git用户可以正常通过ssh使用git,但无法登录shell,因为为git用户制定的git-shell每次登录自动退出

           第六步:克隆远程仓库

相关文章

  • Git命令集---学会这些,让你git中"横行"

    1.git init(将本地文件初始化成git可管理的仓库,工作区会出现.git---版本库) 2.git add...

  • Git命令集合

    Git基础命令 git远程关联 git远程关联移除 git命令简单简介 常用命令集合:git init创建版本库 ...

  • Git本地库常用命令集

    Git本地库常用命令集 以下所有的git命令都是在测试目录/git/下进行的.mkdir /git git ini...

  • 收藏链接

    Git版本控制相关 Git版本恢复命令reset(转载) 如何在 Git 里撤销(几乎)任何操作 Git命令集 W...

  • 一张图搞定git命令集

    一张图搞定git命令集

  • Git 管理 (二)

    原文地址梦想小筑 Git的奇技淫巧:see_no_evil: Git常用命令集合,Fork于tips项目 Git是...

  • GIT命令集

    layout: post title: GIT命令集 categories: JVM JAVA descripti...

  • Git使用技巧

    Git的奇技淫巧:see_no_evil: Git常用命令集合,Fork于tips项目 Git是一个“分布式版本管...

  • 常用命令集

    npm常用命令集 fis3常用命令集 git常用命令(在linux终端中输入命令) 远程仓库 babel常用命令集

  • git 常用命令

    前言 Android 常用命令集,只做随笔,会不断更新 解决方案 初始化命令git init 提交命令git ad...

网友评论

      本文标题:Git命令集---学会这些,让你git中"横行"

      本文链接:https://www.haomeiwen.com/subject/ozngqftx.html