Git使用

作者: Daniel_you | 来源:发表于2019-06-12 11:49 被阅读0次

    一.检查Git

    1.打开终端,输入指令,如果已经安装了Git就会显示版本号

    git version
    

    2.如果尚未安装Git,可以通过Xcode的Command Line Tools并使用如下命令安装Git

    xcode-select --install
    

    二.新建项目并上传

    1.在远程第三方托管网站上新建一个远程仓库(Github、码云等)
    2.本地创建一个新的项目,以Xcode iOS为例,新建项目时要注意项目内是否由一个.git的Git文件,作为新项目上传时需要先删除该文件
    3.打开终端,通过cd指令进入该文件夹下,初始化一个新的Git

    git init
    

    4.配置个人信息(第一次使用)

    下面的命令进行配置是一次性的配置, 只会配置到被管理文件的.git文件夹下

    git config user.name "用户名"
    git config user.email "邮箱"
    

    下面的命令进行配置是全局配置

    git config --global user.name "用户名"
    git config --global user.email "邮箱"
    

    5.添加当前文件夹目录下所有文件到Git

    git add .
    

    撤销add

    git reset .
    

    6.先提交项目到本地仓库

    git commit -m "project"
    

    6.然后推送本地仓库到远程仓库,其中http://xxxxxxxx为远程仓库地址,通常需要在该地址后添加.git链接到Git仓库,如果是首次推送,还需要输出远程仓库的Git用户名和密码来进行验证

    git remote add origin http://XXXXXXX.git
    git push -u origin master
    

    注:该步常见错误为远程仓库在创建时通常会新建一个readme文件,导致因远程仓库存在本地不存在的文件而上传失败
    To https://gitee.com/leisurezxy/iostest.git
    ! [rejected] master -> master (fetch first)
    error: failed to push some refs to 'https://gitee.com/leisurezxy/iostest.git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    解决方法为先执行pull命令,合并本地不存在的readme文件,再执行git push -u origin master命令即可

    git pull --rebase origin master
    

    三.从Git上获取已有的项目,修改后并提交

    1.根据已有项目的Git地址,使用命令行工具从远程克隆一个仓库到本地

    git clone https://xxxxxxx.git
    

    2.修改完项目内容后,使用命令行工具进入项目文件夹,先执行如下两条命令将项目提交到本地仓库

    git add .
    git commit -m "project"
    

    3.然后执行push命令将项目同步到远程Git仓库

    git pull --rebase // push前先下拉并rebase代码
    git push origin Head:master // 提交代码到远程master分支
    git push // 也可以直接这样提交,前提是当前分支与远程分支有关联(当然和上面二选一)
    

    注:该步常见问题为mac git设置的全局用户名和密码与该远程仓库使用的用户名密码不相符,需要通过如下命令进行修改,使用后系统会提示输入密码

    4.下拉代码到本地仓库

    git pull --rebase
    

    四.生成密钥并关联仓库

    1、先查看本地是否有密钥对,有的话就不用创建了,如果是第一次安装肯定是没有的,打开终端,执行以下命令

    cd ~/.ssh
    

    密钥生成后会存放在.ssh文件下,若此文件存在并ls后显示如下内容,说明你创建过,直接关联仓库即可,否则继续生成
    id_rsa id_rsa.pub known_hosts

    2、通过以下命令生成密钥对

    ssh-keygen -t rsa -C "your_email@youremail.com" // 这里是你自己的邮箱啊
    

    创建过程中,会询问你密钥存储位置,直接enter就好,会让你设置密码,可直接enter,也可输入密码(输密码时是不显示输入进度的,直接按键盘就好了,别傻傻的等),最后显示一个矩形方框就说明创建成功了

    3、上传密钥
    私钥就存在本地即可,公钥需要上传至远程仓库,这样才能让本地仓库和远程仓库建立连接;同步骤1,cd到.ssh文件,ls出上述三个文件,然后复制公钥id_rsa.pub内容,如下

    xxxdeMBP:~ liyang$ cd ~/.ssh
    xxxdeMBP:.ssh liyang$ ls
    id_rsa      id_rsa.pub  known_hosts
    xxxdeMBP:.ssh liyang$ cat id_rsa.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDRIqBw5EEyfmXX6NJ3gZB7SOFC1ATsiSPgVb8kchYNvM7qS8h/WJeFPVcY+5Uyx
    SlQ/aGH1UtnLJVrTUryO5iOFN+VKSwsJPFUxxx61TQ5pV5v/HK3FzXe8+2F5ZFrGmeWr7oaWXDS4gS8DWQpY5mzPRY6MsHZ4o2tUw
    +5toqlgdR/tVnhOwVa4tZ7HuUbQ4twpt2YuFFix9TAnvLXPReTt3gaFrswLePYRFVniK2pSUAnAnxPugTDH1dFlucuFFREUSy+/kB
    YlXdayo8+SkdonoDVG9sHAMb6YyJtpnY/PC28NcBWphcWqI/1yPhqTSFIBo6xxx4LWN3W4t79Un9Z xxyaxx@xxx.com
    

    复制上述四行公钥,上传至github:登录账号、点击头像、选择Settings、选择SSH and GPG keys,然后new一个ssh key,名称随便起

    五.常见问题

    1.Mac显示和隐藏隐藏文件

    defaults write com.apple.finder AppleShowAllFiles -bool true
    defaults write com.apple.finder AppleShowAllFiles -bool false 
    

    2.如何学习git指令,可以通过如下指令查看git使用指南

    git --help  
    

    3.git常用的一些指令

    git log       查看所有版本库日志
    git status    查看文件状态 
    

    4.版本回退

    git reset --hard 所需回退版本号
    

    5.查看git配置信息

    git config --list
    

    6.查看本地分支

    git branch
    

    7.查看所有分支

    git branch -a
    

    8.查看所有分支及其最近一条提交记录

    git branch -av
    

    9.查看本地分支与远程关联分支

    git branch -avv
    

    10.查看远程分支直接的关系

    git remote show origin
    

    11.撤销操作

    git checkout . // 代码改动后,撤销所有改动
    git reset a // git add a 后,撤销对a的add
    git reset . // git add . 后,撤销add所有
    git reset HEAD~1 // 已经commit,在当前分支回退1条commit,当然2就是2条;回退后修改内容还在本地
    git revert HEAD~1 //已经push,回滚这条记录,需要注意的是执行完后需要继续执行以下三行才可以,因为远端会保留revert记录
        git add .
        git commit -a
        git push
    

    相关文章

      网友评论

          本文标题:Git使用

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