git笔记

作者: hha123 | 来源:发表于2018-08-17 09:27 被阅读0次

    ls -ah 查看隐藏的文件(linux系统下面)

    git add 文件名  //提交到暂存

    git commit -m 'xxxx'  //提交到本地默认master

    git reset --hard head //回退到当前版本(没有意义)

    git reset --hard head^ //回退到上一个版本

    git reset --hard head '版本号(不用输入完整)'

    git reset HEAD readme.txt  把暂存区的修改回退到工作区

    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区

    命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销

    git log 

    git reflog //有时候回退版本,最新的版本丢失了,可以通过这个命令找回版本号

    git remote add origin git@github.com:michaelliao/learngit.git //把本地仓库推送到远程(和远程仓库关联)

    要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;

    关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

    此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

    git checkout -b dev

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

    $ git branch dev$ git checkout dev

    git merge命令用于合并指定分支到当前分支

    Git鼓励大量使用分支:

    查看分支:git branch

    创建分支:git branch

    切换分支:git checkout

    创建+切换分支:git checkout -b

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

    删除分支:git branch -d

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

    合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

    //本地新建的分支,在远程也创建对应分支,方法一

    $ git push origin test:master         // 提交本地test分支作为远程的master分支

    $ git push origin test:test              // 提交本地test分支作为远程的test分支

    $ git push origin :test              // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心

    //本地新建的分支,在远程也创建对应分支,方法二

    git checkout develop //进入develop分支

    git checkout -b fromdevelop //以develop为源创建本地分支fromdevelop

    git push originfromdevelop //将本地fromdevelop分支作为远程fromdevelop分支

    git push origin :fromdevelop   //删除远程fromdevelop分支

    //end

    当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

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

    $ git branch--set-upstream-to=origin/dev dev //指定本地dev分支与远程origin/dev分支的链接

    查看远程库信息,使用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 tag 用于新建一个标签,默认为HEAD,也可以指定一个commit id;

    命令git tag -a -m "blablabla..."可以指定标签信息;

    命令git tag可以查看所有标签。

    命令git push origin 可以推送一个本地标签;

    命令git push origin --tags可以推送全部未推送过的本地标签;

    命令git tag -d 可以删除一个本地标签;

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

    本地生成ssh密钥命令

    ssh-keygen  -t rsa –C “youremail@example.com”

    在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件

    id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    mac如何获取本地电脑公钥?打开终端输入  $open~/.ssh

    先 git clone 整个仓库,然后 git checkout tag_name 就可以取得 tag 对应的代码了。

    但是这时候 git 可能会提示你当前处于一个“detached HEAD" 状态,因为 tag 相当于是一个快照,是不能更改它的代码的,如果要在 tag 代码的基础上做修改,你需要一个分支:

    gitcheckout -b branch_name tag_name

    这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了。

    //git 如何获取指定 tag 代码

    http://yijiebuyi.com/blog/eacf4d053fad77affffae397d9af7172.html

    https://blog.csdn.net/youzhouliu/article/details/78952453

    相关文章

      网友评论

          本文标题:git笔记

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