zoukankan      html  css  js  c++  java
  • Git 安装和使用Tips

    1. git的安装

    2. git的常见用法

    3. git的常见问题

     

     

    1. git的安装

     

    1)首先去下载
    https://git-scm.com/downloads

     

    [root@VM_0_10_centos ~]# yum install git

    [root@VM_0_10_centos ~]# git --version
    git version 1.8.3.1

     

     

     


    在上述官网上下载符合自己操作系统的git版本,PS翻  墙会快一些,不翻   墙经常出现网络错误而下载失败

    分享网盘资源下载

    链接:https://pan.baidu.com/s/1IhPuJY1Kvb7ip3RPy1waAw 密码:65wr

     

    2)傻瓜式下一步再下一步地去安装

    安装完毕后,Windows平台下用Git Bash工具双击打开,接下来我们要去做生成秘钥操作,how to?
    生成密钥命令如下,直接复制并粘贴到窗口中,邮件地址可以是注册github、gitlab平台到邮箱,也可以不是注册到邮箱,邮箱是为了知道通知你,你到密钥被加到哪个账户上去了。

    ssh-keygen -t rsa -C "xxx.qian@xx.com"

    打开密钥生成文件,注意一下自己刚刚生成的目录,我这边是默认路径

    C:Usersjasqia.ssh

     

    id_rsa.pub内容复制到自己的gitlab,或者github中。 一般是 User Settings 下的 SSH Keys

    注意一定是公钥,加pub字样的,私钥是用来加密,公钥用来解密

     

     

    2. git的常见命令

     

     

    2. 1 提交代码

     

    git init
    对当前目录进行初始化,使当前的目录交由Git进行管理

     

    git status
    查看当前项目下所有文件的状态

     

    git add.【add 和 点 . 之间有空格注意哦】
    对当前目录下的所有文件进行跟踪

     

    git status
    查看当前项目下所有文件的状态

     


    git commit 提交代码
    一般 加一些描述,例如

     

    git commit -m "initial commit" //初次提交代码
    git commit -m "add xx file"

     


    git remote add origin git@xxx.com:usrname/project-name.git //初次提交代码

     

    git push -u origin master

     

     

    下载代码
    通过gitbash 或者
    开发软件中的命令行比如Intelij Idea
    或者eclipse中自己添加插件,后新建项目时候选git clone选好指定的目录
    选好指定的目录

     

    git clone
    GitHub上的项目到本地
    git clone git@xxx.com:xx/project-name.git
    git clone https://github.com/xxx/project-name

     

    git pull 后续server上代码有更新,git pull命令将更新本地代码

     


    git status 查看当前目录以及子目录的变更
    git rm xxfile 删除命令
    git rm xxfolder 删除命令

     

     

    涉及分支创建、合并、删除等

     

    查看目前所在的分支:git branch
    创建分支:git branch <name>
    切换分支:git checkout <name>
    创建+切换分支:git checkout -b <name>
    合并某分支到当前分支:git merge <name>
    删除分支:git branch -d <name>

     

    分支提交代码
    git commit -m "comments"
    git push origin branchname

     


    git reset HEAD <file>

     


    如果分支中有和master中由同一文件名的文件,要怎么办?

     

    3. git的常见问题

    1)  提示出错信息:fatal: remote origin already exists.

    出错原因是此目录下的git已经指向了一个远程的初始路径,且和你此次想指向的路径不一致;那要么自己check下,是否路径需要更新。若需要,有两种方式,要么删除目录下的.git文件夹,一般情况下是隐藏的;要么直接用命令

    git remote rm origin  来删除掉初始路径,然后重新git remote add origin git@github.com/xxx即可

     

     2)  发现日志等文件没有上传

    是因为在.gitignore文件中进行了配置,如下截图

    此文件会忽略要上传的带有特定后缀的文件

     

    git clone -b develop remost_URL

     

     

     

    1.fetch和merge和pull的区别

     

     pull相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。

     

     git fetch:相当于是从远程获取最新版本到本地,不会自动merge

     

     git merge :  将内容合并到当前分支

     

     git pull:相当于是从远程获取最新版本并merge到本地

     

     

     

    2.tag

     

    tag指向一次commit的id,通常用来给开发分支做一个标记

     

    打标签 : git tag -a v1.01 -m "Relase version 1.01"

     

    提交标签到远程仓库 :  git push origin --tags

     

    查看标签 : git tag

     

    查看某两次tag之间的commit:git log --pretty=oneline tagA..tagB

     

    查看某次tag之后的commit: git log --pretty=oneline tagA..

     

     

     

    3.Git和SVN的区别

     

    Git是分布式版本控制系统,SVN是集中式版本控制系统

     

     

     

    4.Git工作流程

     

    1、在工作目录中修改某些文件

     

    2、对修改后的文件进行快照,然后保存到暂存区域

     

    3、提交更新,将保存在暂存区域的文件快照永久转储到Git目录中

     

     

     

    5.常用命令

     

    git show # 显示某次提交的内容 git show $id

     

    git add <file> # 将工作文件修改提交到本地暂存区

     

    git rm <file> # 从版本库中删除文件

     

    git reset <file> # 从暂存区恢复到工作文件

     

    git reset HEAD^ # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改

     

    git diff <file> # 比较当前文件和暂存区文件差异 git diff

     

    git log -p <file> # 查看每次详细修改内容的diff

     

    git branch -r # 查看远程分支

     

    git merge <branch> # 将branch分支合并到当前分支

     

    git stash # 暂存

     

    git stash pop #恢复最近一次的暂存

     

    git pull # 抓取远程仓库所有分支更新并合并到本地

     

    git push origin master # 将本地主分支推到远程主分支

     

  • 相关阅读:
    json_decode 转数组
    json_encode转义中文问题
    ECshop后台新功能权限添加
    mysql中int、bigint、smallint 和 tinyint的区别与长度的含义
    mysql数据库表设计小数类型
    mysql group_concat用法
    PHP socket通信之UDP
    本地tp项目上传服务器报runtime/cache错误
    mysql 命令一套
    linux 9 -- 交互式使用Bash Shell
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/9402307.html
Copyright © 2011-2022 走看看