美文网首页
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中"横行"

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