Git常用命令总结

前提已经安装好git,并且有GitHub账户!!!

首先登陆GitHub官网创建一个库!!!

 

本地电脑有个文件夹用来存储这个库,在终端cd进入这个文件夹,然后输入:git clone url(复制官网创建的url)   克隆这个库!!!

 

cd进入这个项目,设置贡献者,命令:

        git config - -global user.name   “你的用户名”  

         git config - -global user.email  “你的邮箱”

只输入git config - -global user.name/user.email 可以用来查看贡献者。

或者输入: git config —list       查看git下所有文件

 

master是主分支,可以建立新的分支,然后更改后,可以和主分支合并。

git三个区:

    工作区

    暂存区   

  • 作为过渡层

  • 避免误操作

  • 保护工作区和版本区

  • 分支处理

    版本区(库)

 

命令:

将文件提交到暂存区:

    git status   查看分支下有没有文件

    git add + 文件名   把文件添加到暂存区,可以用来管理

    git add .     把所有文件添加到暂存区

 

将文件提交到版本库:

    git commit 将暂存区的文件提交到版本库 会提示让写注释。

    git commit -m “写的注释”

    简写:git commit -a -m “注释”   —>直接把暂存区的文件提交到版本库

 

git log 可以查看提交的历史 当提交历史太多时,直接按Q键退出

 

 

要修改文件时,同上,先进入该文件的库,cd进去,然后将修改后的文件

 git commit  -a -m “注释”  提交到版本库!!

 

同步(提交)到远程仓库:

git remote    —>远程仓库的名字        git remote add ‘’ ’’ —>可以修改远程仓库的名字

git remote    —>可以查看远程仓库的地址

git push ‘仓库名字’(origin)    ‘分支’(master)              同步到远程仓库

 

 

 

 

对比:

将更改一次的文件通过 git add 文件名 提交到暂存区,然后再次在工作区更改了文件,但没提交,此时用:

git diff   可以查看此文件在工作区 和 暂存区的 区别   即:对比的是工作区 和 暂存区

git diff —cached(—staged)  查看暂存区 和 版本区的 区别   即:对比的是暂存区 和 版本区 

git diff master  查看工作区 和 版本区的区别  即:对比的是工作区 和 版本区

 

撤销:

即在把文件add 到暂存区时,发现又更改,此时可以撤销操作,

git reserve HEAD + 文件名   即:把刚才提交到暂存区的文件撤销回工作区

git checkout —文件名   即:将文件恢复成最初版本库里面的那个状态

当把A文件commit到版本库时,误操作忘记把B文件提交上,此时先把B文件add到暂存区,然后用命令:

git commit -m ”注释说明”  - - amend  即:把A文件撤销到暂存区,然后让A 文件和B文件合并到一起提交到版本库  

 

删除:

当把A文件提交到暂存区时,然后在工作区删除了,那么git status 还能在暂存区看到,那么用命令:

git rm  + 文件名   将暂存区的A文件也给删除,使工作区和暂存区达到一个同步 注意:当工作区 和 暂存区 都存在A文件时,想把暂存区的A文件给删除,此时git rm 这条命令是无效 需要用这个命令:

git rm -f 文件名  此时将会把工作区 和 暂存区的文件都给删除  

git rm - -cached 文件名  此时只会把暂存区的文件删除,工作区的文件会留存

 

 

恢复:

当误操作把一个文件删除时,git status 查看删除的文件,然后 git log 获取历史版本,然后把git log下的想要恢复的id复制部分就可,执行命令:

git checkout commit  id  ‘要恢复的文件名’           - - >恢复的是单一的文件

当把所有文件删除时,执行命令:

git reset - - hard commit  id     - - >恢复到当初的那个版本  (对版本的还原)

 

git reset - -hard HEAD^     - ->恢复到上一个版本,多次输入逐层恢复

git reset - - hard HEAD~ +数字      - - >恢复到前几个版本,看数字。

git reflog   - - >可以查看所有操作的版本,然后获取id 用git reset - - hard commit id 恢复

 

多人协作解决冲突

当远程仓库有一个版本的文件时,在本地再次更改提交,会造成冲突,通过

git fetch   - ->把两个不同的版本都同步过来

git diff master origin/master   - ->查看两个文件的区别,然后手动进行合并

git merge origin/master    - - >把不同之处会同步到本地,然后手动取舍,在同步到远端

 

git pull   - - > 直接把不同的文件进行合并,不会查看不同之处。

 

 

开源项目合作:

当一个项目,不是合作者时,先把这个项目克隆下来,然后进行修改,提交,然后request对方是否愿意合并,可以留言,然后对方同意后会进行合并。

 

git分支:

git branch  - - > 查看分支

git branch 分支名   - - >创建分支

git checkout  分支名 - - >切换分支

git checkout -b 分支名 - - > 快速创建并切换分支

git  merged 分支名 - - > 合并分支

git branch - - merged    - - >查看已经合并的分支

git branch - - no-merged   - - >查看没有合并的分支

git branch -d 分支名    - - > 删除分支     //只能删除合并了的分支,没合并的不能删除

git branch -D 分支名   - - >强制删除没合并的分支

当文件冲突时,首先用git  merged 分支名 - - > 合并分支,然后会出现错误,用git branch  - - > 查看分支,会在本地文件出现不同之处,手动选择,最后再次提交。

 

GitHub上的分支:

git上创建分支之后,直接git push 仓库名 分支名 然后直接提交到远程仓库GitHub

可以直接在GitHub创建分支

 

GitHub上的标签:

git tag 标签名   - - >创建标签     直接运行:git tag 可以查看标签    

         git push origin 标签名    - - >同步到GitHub上

GitHub上直接创建标签

 

GitHub上创建博客

资源

http://git.oschina.net/progit/

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值