zoukankan      html  css  js  c++  java
  • 【实战】使用 Git

    前提(下载软件,注册账号,新建仓库)

    你要先下载安装好git软件,并且在github or gitee or gitlab上有账号,在上面新建仓库
    具体操作步骤就不在此赘述。


    设置本地密钥SSH

    SSH key可以让你在你的电脑和git@OSC 之间建立安全的加密连接。

    1. 打开git bash, 使用以下命令来生成SSH key
    ssh-keygen -t rsa -C "xxxx@xxxx.com"
    

    上面的"xxxx@xxxx.com"替换为对应的你的邮箱地址
    2. 查看你的public key,并把它添加对应的仓库网站,如gitee存放SSHkey的地方:http://gitee.com/keys

    cat ~/.ssh/id_rsa.pub
    

    或者到对应的位置使用记事本打开,将里面的内容复制到网站SSHkey添加处。

    1. 添加后,再git bash 中输入
    ssh -T git@gitee.com
    

    若返回成功连接的消息,则表示添加成功。

    注:关于同一电脑同时添加github和gitee密钥详见此博客

    简易的命令行入门教程:

    Git 全局设置:

    git config --global user.name "XXX"
    git config --global user.email "XXX@email.com"
    

    创建 git 仓库:

    mkdir Workname
    cd Workname
    git init
    touch README.md
    git add README.md
    git commit -m "first commit"
    git remote add origin git@gitee.com:XXX/Workname.git
    git push -u origin master
    

    已有仓库?

    cd existing_git_repo
    git remote add origin git@gitee.com:XXX/Workname.git
    git push -u origin master
    

    新仓库第一次push的时候需要加-u ,之后就不用加了。

    pull 和 push

    本地项目要推送到远程分支:

    git push origin branch1
    

    远程的项目更新到本地:

    git pull -r 
    # git pull --rebase 的缩写
    

    git pull 完成过程经历了两步:第一步是抓取更新(相当于git fetch);第二步是合并远程分支(相当于git merge )

    git fetch

    • 从远程仓库下载本地仓库中缺失的提交记录
    • 更新远程分支指针(假设为o/master)

    git fetch 实际上将本地仓库中的远程分支更新成了远程仓库相应分支最新的状态:

    使用 git fetch 并不会改变你本地仓库的状态。不会更新你的master分支,也不会修改你磁盘上的文件。只相当于单纯的下载操作,并没有修改你本地文件。

    合并远程分支
    当远程分支中有新的提交时,你可以像合并本地分支那样来合并远程分支。可执行以下命令:

    • git cherry-pick o/master
    • git rebase o/master
    • git merge o/master
    • 等等

    创建分支要趁早

    创建新分支

          git branch [tags1name]
    

    将分支内容合并到主分支master上

    假如我们现在在dev分支上,刚开发完项目,执行了下列命令

    git add .
    git commit -m ‘dev'
    git push -u origin dev
    

    然后我们要把dev分支的代码合并到master分支上 该如何?
    首先切换到master分支上

    git checkout master
    

    如果是多人开发的话 需要把远程master上的代码pull下来

    git pull origin master
    

    如果是自己一个开发就没有必要了,为了保险期间还是pull

    然后我们把dev分支的代码合并到master上

    git merge dev
    

    然后查看状态

    git status
    

    On branch master
    Your branch is ahead of 'origin/master' by 12 commits.
    (use "git push" to publish your local commits)
    nothing to commit, working tree clean

    上面的意思就是你有12个commit,需要push到远程master上
    执行下面命令即可

    git push origin master
    

    使用过程中可能遇到的问题及注意事项

    git push的时候提示输入用户名密码,输入错了

    解决办法:

    git config --system --unset credential.helper
    

    然后再重新push

    git push -u origin master
    

    每次git push都要输用户名和密码

    出现这种情况一般都是由于之前连接到远程仓库的时候,是使用的http格式的网址
    解决办法1:
    先按照提示输入用户名和密码。再执行

    git config --global credential.helper store
    

    意思是在本地生成包含git账号和密码的文件
    验证:在本地 C:usersyourname 是否能够找到.git-credentials文件,如果有表示成功了。再次git push一下看是否需要输入用户名和密码。

    解决方法2:
    切换git 的拉取方式,将http改为ssh方式
    查看clone地址:

    git remote -v
    

    移除http方式:

    git remote rm origin
    

    移除完之后再次查看拉取方式发现为空,此时添加ssh拉取方式:

    git remote add origin [git ssh地址]
    

    再次查看拉取方式的地址变为ssh表示大功告成!

    git上传文件过大报错

    要注意哦,git分配给每个仓库的内存空间是有限的。
    以gitee为例:

    单个文件最好不要超过50M,否则会报错。

    参考:

    git 本地与远程仓库同步操作
    同时配置github和gitee的ssh 及 多电脑共用ssh
    git 合并分支到master
    解决 git pull/push 每次都要输入用户名密码的问题

  • 相关阅读:
    Suricata的输出
    Setting up IPS/inline for Linux in Suricata
    Suricata的初始化脚本
    Suricata的Reputation
    Suricata的配置
    Suricata的性能
    Suricata里的规则与Snort区别之处
    Suricata的命令行解释
    [转]ASP.NET 成员资格 Part.1(API)
    [转]ASP.NET MVC4+BootStrap 实战(一)
  • 原文地址:https://www.cnblogs.com/jsdy/p/13364530.html
Copyright © 2011-2022 走看看