git的使用与常用linux命令

  为了告别手动方式管理Linux代码,并且符合开源和免费,Linus花了两周时间自己用 C 写了一个分布式版本控制系统,这就是Git。
  Git迅速成为最流行的分布式版本控制系统,尤其是 2008 年 GitHub 网站上线了,它为开源项目 免费提供Git存储 ,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
  
gitLogo  

1. git的安装

windows安装过程中记得选择在cmd下使用linux命令

  • mac下安装
    下载HomeBrew: http://brew.sh
    拷贝对应脚本到终端下安装HomeBrew 然后在终端执行brew install git命令安装git

安装xcode会默认下载git

2. 配置git用户和邮箱

$ git config --global user.name "你的github用户名"
$ git config --global user.email "你的github邮箱"

不配置用户名和邮箱的话无法提交,因为git不知道你是谁

查看配置

$ git config --global user.name
$ git config --global user.email

查看所有配置

$git config --list 

3. 初始化git

  • 先创建一个空目录,可以直接手动创建,也可以在终端或命令行中输入mkdir 文件夹的名字 来创建,然后进入此目录,手动进入或在终端或命令行中输入cd(change directory)文件夹的名字,进入此目录(删除文件夹使用$ rm -rf 文件夹名字
  • windows在当前文件夹右键点击Git Bash Here打开命令行,mac在当前文件选择在此打开终端窗口,或者直接在cmd命令行或终端里输入 git init 来初始化git,告诉git当前目录归它所管理

通过ls -al 命令查看当前目录下的所有文件

4. git中的三个区

git的工作流

4.1 工作区

通过git add 添加到暂存区

$ git add ./-a/文件名

当前文件在命令行或终端里没有加入到暂存区是红色,加入后是绿色 可以通过$ git status命令查看;这里说几个常用的linux命令:

$ touch 文件名  //创建文件
$ echo 内容 >> 1.txt  //一个大于号清空 创建 并写入 两个大于号追加
$ cat 文件名  //查看文件
$ vi 文件名  //修改文件 i键进入编辑状态 esc退出 :wq保存并退出  :q!强制退出
4.2 暂存区

特点:过渡的作用,避免误操作,保护工作区和历史区,分支处理;
通过git commit添加到历史区

$ git commit -m '注释内容' 
4.3 历史区

历史区的内容只要电脑不爆炸、不手动删除.git文件,内容永远不会丢失
查看历史状态及提交版本号:

$ git log / $ git log --oneline   //在命令末尾添加--oneline显示记录为一行 

一步提交到历史区:

$ git commit -a -m'注释内容' //如果当前文件是首次提交则不支持此命令,需要逐步提交

有的时候我们希望提交时合并到上一次的提交: $ git commit --amend

在历史区中查询关键字:

$ git log --grep/--author=提交者名字        

5. 不同区的代码比较

5.1 工作区和暂存区
$ git diff
5.2 暂存区和历史区
$ git diff --cached
5.3 工作区和历史区
$ git diff 分支的名字

6. 撤销

6.1 撤销回暂存区中新加的内容(git add的内容)
$ git reset HEAD 文件名   
6.2 撤回文件

先从暂存区撤销,暂存区无内容,从历史区撤销

$ git checkout 文件名

7. 删除

7.1 删除暂存区和工作区

删除暂存区中的内容,并且保证工作区中的内容已经不存在

$ git rm 文件名  //若本地文件存在则不能删除,需要通过-f参数删除        
7.2 仅删除暂存区
$ git rm --cached 文件名

8. 恢复(版本回退)

8.1 版本回退(历史区→工作区)
$ git reset --hard 版本号
$ git reset --hard HEAD~3  // HEAD^去上一级   
8.2 查看操作历史
$ git log  //查看当前版本之前的内容
$ git reflog  //查看所有操作历史       

9. 分支

主要是写代码时,不会影响主代码

9.1 创建分支
$ git branch 分支名字  
9.2 查看分支
$ git branch
9.3 进入到分支(切换分支)
$ git checkout 分支名
9.4 删除分支
$ git branch -D 分支名
9.5 创建并切入分支
$ git checkout -b dev  //创建并切入到dev分支上
9.6 合并分支
$ git merge 被合并的分支名

每个人都会拥有一条分支,开发自己的代码,自己的代码开发完成后提交到自己的历史区,主分支来进行合并分支 ,注意区分主分支

9.7 合并分支时产生冲突的原因

两个人同时改变了同一个文件。git不知道谁是对的,要让自己裁决,裁决好后再次提交。只能手动合并。

10. 将本地内容推送到远程仓库

10.1 关联远程仓库
$ git remote add origin(地址名) 远程仓库地址
10.2 移除关联的远程仓库
$ git remote rm origin(地址名)
10.3 查看关联的远程仓库信息

查看仓库名字

$ git remote   

查看仓库地址

$ git remote -v
10.4 推送到远程仓库

要保证即将被推送到远程的内容已经添加到历史区,即已经执行过$ git add . && git commit -m"",否则无法推送到远程仓库

$ git push origin master //可以选择加不加-u(upstream)参数 首次推送如果加-u则以后每次拉取和推送直接执行git pull/git push即可

如果本地和线上版本不一致,则需先进行拉取,如果拉取后有冲突,需要手动解决冲突,然后再推送

强制覆盖远程仓库内容:$ git push origin master -f(谨慎使用此命令…后果很严重,你懂的…)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值