git使用

创建版本库

操作 说明
$ mkdir learngit 创建文件夹
$ cd learngit 进入到创建的这个文件夹
$ pwd 列出当前文件夹所在目录
$ git init 把这个目录变成Git可以管理的仓库

不一定要是空文件夹,可以是已有的

git add . 添加到仓库
git commit -m "…" 提交到仓库-m是本次提交的说明
git status 查看当前状态
git diff 查看difference
git log 从近到远的提交日志记录
git reset --hard commit_id 在历史版本中穿梭
git reset --hard HEAD^ 回退到上一版本
git checkout -- file 把工作区的修改全撤销
git rm test.txt 删除文件test.txt
ls 展示当前目录
git checkout -b dev / git switch -c dev 创建+切换分支
git branch 查看所有分支,当前分支前有一个*
git switch/git checkout 切换分支
git branch -d 删除分支

说明

  • git commit 你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

  • HEAD 表示当前版本

  • HEAD 表示上一个版本

  • 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

  • git checkout -- file命令中的--很重要,没有--,就变成了“切换到另一个分支”的命令

  • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD ,就回到了场景1,第二步按场景1操作。

  • 在Git中,删除也是一个修改操作

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

连接远程git仓库

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

$ ssh-keygen -t rsa -C "youremail@example.com"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容:

github-addkey-1

点“Add Key”,你就应该看到已经添加的Key:

github-addkey-2

添加远程库

1.获取ssh地址

![1571022589338](C:\Users

\WX\Desktop\1571022589338.png)

2.在本地希望放置的文件夹里bash中输入git clone +上面地址(此时线上线下已同步)

3.真机测试

​ 随便在文件夹里放置东西,然后git add . git commint 、git push 后在浏览器中查看发现已同步

提交自己的分支

git add .

git commit -m ' '

git checkout master / git switch master

git merge 自己刚刚的分支

多人协作

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin 推送自己的修改;
  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
  3. 如果合并有冲突,则解决冲突,并在本地提交;
  4. 没有冲突或者解决掉冲突后,再用git push origin 推送就能成功!
posted @ 2019-10-14 16:51  WX1211  阅读(122)  评论(0编辑  收藏  举报