git

本文深入讲解Git的基本操作,包括初始化仓库、分支管理、文件状态控制、提交与回滚、远程仓库同步等关键流程,适用于初学者快速掌握及进阶用户复习。
                                                    git常用命令

一、


 

 

1、工作区:就是你在电脑里能看到的目录。      
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以        我们把暂存区有时也叫作索引(index)。
      版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
2、图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分支所代表的目录树。
图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个"游标"。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,里面包含了创建的各种对象及内容。
当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID被记录在暂存区的文件索引中。
当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
当执行 "git rm --cached <file>" 命令时,会直接从暂存区删除文件,工作区则不做出改变。
当执行 "git checkout ." 或者 "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
当执行 "git checkout HEAD ." 或者 "git checkout HEAD <file>" 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动。
3、下载,官网点击下载
4、验证Git是否安装成功:cmd 输入 git version
5、git init   初始化git仓库
6、git clone git仓库地址   克隆项目

然后查看分支名,然后切换分支 git checkout -b template origin/template // 作用是checkout远程仓库origin的分支template,在本地起名为template分支,并切换到本地的template分支
git checkout -b develop origin/develop  //作用是checkout远程仓库origin的分支develop ,在本地起名为develop 分支,并切换到本地的develop 分支
git checkout -b desktop origin/desktop    // 作用参见上一步解释
7、$ git branch -r;列出远程分支名$ git branch -a;//列出所有分支名称如下: * 号表示当前分支


 

说明: origin/v9.4.8.1, origin是远程仓库名,v9.4.8.1是远程仓库的一个分之,由上结果可以看出,远程仓库origin还有develop、v9.4.8.1、master等分支。
8、只给了master的地址,克隆远程dev分支(远程dev分支存在)
$ git clone -b dev  https://github.com/gypapple/firsttest.git
9、查看用户名和邮箱地址:
$ git config user.name
$ git config user.email
修改用户名和邮箱地址:
$ gitconfig--globaluser.name"username"
$ gitconfig--globaluser.email"email"
10、git commit -m "这里是提交"
        git commit -am "这里是修改了代码后添加到暂存区,然后再提交"


 

11、回滚:
git log查看日志详细信息
git log  --pretty=oneline查看日志简单信息


 

git reset --hard  33b20e59....可不用写全
最好不要回滚
12、git reset HEAD清空暂存区
13、git rm a.txt删除            git rm -f a.txt强制删除
14、git add .添加所有的   git add a.txt添加a.txt文件
15、如果本地库使用master分支拉的,然后再创建dev分支,那么dev分支合并到master分支,可在master分支使用命令:git merge dev进行合并到master分支,此时合并到的是本地的master分支,若要推送到github上的master上则再需要在本地master分支使用命令git push origin master进行推送
然后dev分支没有存在的意义,可以删除dev分支:git branch -D dev
16、git push origin master推送到远程仓库master分支
        git push origin dev 推送到远程仓库dev分支
        git push -f origin master强制推送
        git push -f origin dev
17、git pull origin master 从远程master分支拉取代码
18、https://blog.youkuaiyun.com/zzh920625/article/details/78315127
19、git init初始化git仓库,ls -ah可以看到.git文件
20、git reset --hard HEAD^回滚到上一个版本
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
21、终极回滚:git reflog可以查看所有回滚的id。
22、git diff HEAD -- 文件名   查看工作区与版本库里面的最新的区别(注意空格)

 

转载于:https://www.cnblogs.com/cherry1a/p/10737146.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值