git基本使用

Github网址:进行注册和简单的了解

Git网址:下载安装Git

廖雪峰大佬的git教程


1. windowsLinux下查看文档内容

window: type  
linux: cat 

2. 创建本地账户

git config --global user.name "你的用户名"
git config --global user.email "[email protected]"
git config --list  # 查看配置

3. 在github中创建个人仓库

3.1 远程仓库

  1. 创建 github账号

  2. 创建 SSH Key,在用户主目录下,看看有没有 .ssh 目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub 这两个文件,如果已经有了,可直接跳到下一步,如果没有,打开
    git Bash(linux下打开 Shell),创建 SSH Key

    ssh-keygen -t rsa -C "你的邮箱地址"
    

    一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以无需设置密码。 如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的密钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  3. 登陆GitHub => settings => SSH and GPS keys => new SSH keys 然后,点Add SSH Key,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点Add Key


4. 添加远程库origin和初始化本地仓库

先在GitHub点击create new repository。然后填上项目名字,点击create。在弹出得界面选择SSH就能看到下面命令里的东西。

  1. git clone [你的github中 SSH 或 HTTPS 地址]:拿到仓库的地址

  2. echo "# [进入要上传的目录中]" >> README.md:创建 README.md

  3. git init: 初始化本地仓库

  4. git remote add origin git@[你的github中 SSH 或 HTTPS 地址]: 选择要关联的远程库

  5. git add README.md: 将 README.md 添加到工作区

    # 也可以使用以下命令提交所有新文件(new)和被修改(modified)文件到工作区,不包括被删除(deleted)文件
    git add . 
    
  6. git commit -m "[描述内容]": 提交到版本库

  7. git push -u origin master

    # 关联后,使用命令第一次推送master分支的所有内容,此后,每次本地提交后,只要有必要,就可以使用以下命令推送最新修改
    git push origin master
    

注意事项

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

  The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established. RSA key fingerprint is xx.xx.xx.xx.xx. Are you sure you want to continue connecting (yes/no)?

  这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:
  Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
这个警告只会出现一次,后面的操作就不会有任何警告了。

5. 查看仓库状态

git status # 随时查看工作区状态
git diff <文件名> # 若 git status 告诉你有文件被修改,可以使用其查看修改内容

6. 删除文件

git rm 
# 用于删除一个文件,如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容

7. 多人协作

7.1 基本命令

git remote -v # 查看远程库信息
# 本地新建的分支如果不推送到远程,对其他人就是不可见的;
git push origin [本地分支名] # 从本地推送分支,如果推送失败,先用git pull抓取远程的新提交;
git checkout -b [本地分支名] origin/[远程分支名] # 在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;
git push --set-upstream origin [本地分支名] # 建立本地分支和远程分支的关联
git pull # 从远程抓取分支,如果有冲突,要先处理冲突。

7.2 标签管理

# 发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

# 创建标签
git tag  # 用于新建一个标签,默认为HEAD,也可以指定一个commit id
git tag -a  -m v1.0 commit_id # 可以指定标签信息到指定id上
git tag -s  -m "blablabla..." # 可以用PGP签名标签
git tag # 可以查看所有标签
git show  # 可以看到说明文字

7.3 操作标签

# 因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。
git tag -d  # 删除标签
git push origin  # 如果要推送某个标签到远程
git push origin --tags # 或者一次性推送所有尚未推送到远程的标签

# 如果标签已经推送到远程,需要删除远程标签:先从本地删除:
git tag -d 
# 然后再删除远程,使用命令push,但是格式如下:
git push origin :refs/tags/
# 需要查看远程标签是否删除,登陆GitHub查看

7.4 配置Git命令别名

# 有没有经常敲错命令?比如git status?status这个单词真心不好记。
# 如果敲git st就表示git status那就简单多了,当然这种偷懒的办法我们是极力赞成的。

# 我们只需要敲一行命令,告诉Git,以后st就表示status:
git config --global alias.st status

你可能感兴趣的:(git基本使用)