美文网首页
Git 学习及使用

Git 学习及使用

作者: Steven054 | 来源:发表于2017-03-10 11:29 被阅读8次
    风景.jpg

    钩子:

    gitdir=$(git rev-parse --git-dir); scp -p -P 29418 姓名
    @xxx.xxx.xxx.xxx:hooks/commit-msg ${gitdir}/hooks/
    

    一 、设置Git的user name和email:

    $ git config --global user.name “user name"
    $ git config --global user.email “your email”

    二、生成SSH密钥过程:

    生存密钥:

    $ ssh-keygen -t rsa -C “your email”

    按3个回车,密码为空。

    Your identification has been saved in /home/tekkub/.ssh/id_rsa.

    Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.

    The key fingerprint is

    得到了两个文件:id_rsa和id_rsa.pub;位于~/.ssh目录下

    三、添加ssh密钥

    • 这要添加的是“id_rsa.pub”里面的公钥将id_rsa.puh中的内容复制到git服务器

    四、复制代码:

    1、clone代码 git clone git@xxxxx.git

    git 常用命令
    checkout 切换分支 
    branch 创建分支
    fetch 拉取分支 
    merge 合并分支 
    pull 拉取分支,相当于fetech + merge 
    push 推送分支 
    

    命令不要从这里复制,可能有中文符号!!!自己敲

    • 1、更新代码
      git pull —rebase
    • 如果有冲突,解决冲突,然后:
      git add . git rebase —continue
    • 2、提交本地A分支代码到远端A分支
      git push origin A
    • 3、提交本地分支A到远端分支B(前提是本地分支A已经关联到远端分支B)
      git push origin A:refs/for/B
    • 4、************新建并切换到分支A,同时将A关联到远端分支B************
      git checkout -b A -t origin/B
    • 5、已经建立分支A,想A关联到远端分支C
      git branch --track A origin/C 或者 git branch --set-upstream-to origin/C (经切换到分支A)
    • 6、本地分支A已经关联到远端分支,解除关联
      git branch --unset-upstream A
      ` 7、删除远程分支A
      git push origin :A
      或者
      git push origin --delete A
      或者
      ``git branch -d -r A (-d -r两个参数都不能少)```
    • 8、删除本地分支A
      git branch -D A
    • 9、重命名分支A为B
      git branch -m | -M A B (重命名分支,如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名)
    • 10、打tag,
      例如tag名为:demo_v2.1.2 git tag -a demo_v2.1.2 -m “创建tag demo_v2.1.2”
    • 11、显示tag
      git tag
    • 12、gi获取远程tag qjs_v2.1.2
      git fetch origin qjs_v2.1.2
    • 13、推送tag到远端 git push tags (所有tag)
      git push origin qjs_v2.1.2 (只推送qjs_v2.1.2)
    • 14、删除tag qjs_v1.0
      git push origin --delete tag qjs_v1.0 (删除远程)
      git tag -d qjs_v1.0 (删除本地)
    • 15、回滚已经commit的内容
      git log查看需要回滚到那个版本,复制commit id
      git reset --hard [commit id]
    • 16、回滚已经add,未commit的内容
      git checkout . (回滚所有)
      或者
      git checkout [file1] (回滚file1)
    • 17、回滚未add的文件
      git clean .(所有的)
      单个文件可直接用rm命令
    • 18、本地分支和远程分支同步(当远程分支有新建或删除)
      git fetch -p
    • 19、将A分支的一个或者几个commit,合并到B分支
      git checkout B
      然后
      git cherry-pick <A-commit-id>

      git cherry-pick <A-start-commit-id>..<A-end-commit-id>

      git cherry-pick <A-start-commit-id>^..<A-end-commit-id>
      后两种情况说明:
      前者表示把<start-commit-id>到<end-commit-id>之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;
      后者表示把<start-commit-id>到<end-commit-id>之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
      其中,<start-commit-id>在时间上必须早于<end-commit-id>
    • 20.可以通过”git config --list”命令来查看你的设置
    • 21.git log --pretty=oneline --abbrev-commit 查看版本历史列表
    • 22.git reflog 查看提交过的所有文档

    相关文章

      网友评论

          本文标题: Git 学习及使用

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