git使用

1.安装git

git:查看是否已经安装

sudo apt install git :安装

2.创建版本库

git init:将一个普通目录变成版本库

3.将文件添加到版本库

git add filename :将文件添加到缓存区

git commit -m "日志" :提交文件到版本库【仓库】

*** 请告诉我你是谁。        #不知道主人是谁,则需要配置用户名和邮箱
#注意:用户名和邮箱来自github上的注册

运行
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

4.时光穿梭机(新旧版本切换)

git status:查看仓库当前的状态

git diff filename:查看仓库具体的改动

版本回退

在git中,用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,如果向上找100个版本,则表示为HEAD~100.

git log: 查看提交历史记录,以便于确定回到哪个历史版本

git log --pretty=oneline:  只显示commit id 和 版本日志 (一行显示)

git reflog: 查看历史执行过的git操作,从上往下寻找第一个commit的操作,则是未来的最新的版本

git reset --hard 版本号【commit id】: 版本回退

撤销修改

三种情况:

1.修改了文件内容,但是还没有添加到暂存区

#丢弃工作区的修改
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
##回到最近一次git commit或git add时的状态

修改:     text.txt

2.修改了内容,还添加到了暂存区,但是还没有提交

a.撤销掉暂存区的修改
位于分支 master
要提交的变更:
(使用 "git reset HEAD <文件>..." 以取消暂存)

修改:     text.txt
b.丢弃工作区的修改

重复 操作 1

3.直接将修改的内容提交到了版本库

利用版本回退

5.远程仓库

建立本地终端和github的网络连接

1.创建github账号

2.生成ssh key【密钥,建立本地和网络之间的连接】cd

终端输入命令:ssh-keygen  -t   rsa  -C    "github的注册邮箱"

后面会要求设置仓库密码等(可忽略),一直回车.

3.添加公钥到github

获取公钥:cat id_rsa.pub

复制公钥添加到github: github网站-->个人-->setting-->SSH and GPG keys-->new ssh key

4.检测是否添加成功

命令:ssh  -T   git@github.com

5.添加私钥

命令:ssh-add id_rsa

添加公钥失败时: 解决办法网址 https://blog.csdn.net/laner415/article/details/52966890

1.  ssh-add -D
2. rm -r ~/.ssh
3. 再试一次以上命令:ssh-keygen -t   rsa -C   "github的注册邮箱"
添加密钥 测试 若继续失败,执行下面命令
4. eval "$(ssh-agent -s)"
5. ssh-add
6. 再测试 ssh -T git@github.com

建立远程仓库

github网站-->个人页面-->页面右上角的"+"号-->new repository

创建成功后:

https 和 git两种连接 ; https推送时需要github用户名和密码

远程仓库地址: 例: git@github.com:Deaseyy/repository1.git

 

将本地仓库和远程仓库联系起来

前提: 首先创建了本地仓库(版本库),进入本地仓库目录:

1.建立连接:

命令  git remote add origin  git@github.com:Deaseyy/repository1.git(远程仓库地址)

命令 git remote -v   : 查看远程仓库(地址) ,查看是否关联好

2.推送本地master分支并与远程master产生关联:

 命令  git push -u origin master  (第一次推送本地仓库内容到远程仓库,之后推送时去掉-u)

ps: 推送相当于更新远程仓库的文件, 需要本地仓库已经包含远程仓库的所有最新文件,否则不能更新,需要先pull远程仓库的文件再push.

总结:

  • 要关联一个远程仓库,使用命令 git remote add origin git@github.com:username/repoName.git

  • 关联成功之后 ,使用命令git push -u origin master第一次推送master分支的内容到远程仓库

  • 以后,每次本地提交之后,只需要使用命令git push origin master推送最新的修改

    【本地修改----> add到暂存区 ---> commit到本地仓库 ---> push到远程仓库】

从远程仓库克隆

查找远程仓库地址

命令 git clone git@github.com:Deaseyy/repository1.git

#克隆到本地之后,就可以任意修改本地工作区中的文件,修改完成之后,首先将修改add到暂存区,然后将暂存区中的修改提交到本地仓库,最后将本地仓库中的修改推送到远程仓库

6.分支管理

git branch 查看当前仓库所有分支

创建和合并分支

git branch 查看分支

git branch dev 创建分支dev

git branch -d dev  删除分支dev

git branch -D dev 强制删除分支dev

git checkout dev 切换到分支dev

git checkout -b dev  创建并切换到该分支

git merge dev 合并子分支dev到当前分支

 git merge --no-ff -m "log" dev  合并分支(有历史记录)

个人理解: 1.本地子分支修改后合并到master主分支 (合并冲突时需先解决冲突)

      2.master主分支再push推送到远程仓库分支 

 

原文地址:https://www.cnblogs.com/Deaseyy/p/10859768.html