操作gitbash命令行
-
初始化一个Git仓库:
1. 使用gitbash进入一个空目录
2. 使用git init
命令,创建git版本库。 -
添加文件到Git仓库,分两步:
-
使用命令
git add <file>
,注意,可反复多次使用,添加多个文件;就是把文件修改添加到版本库里的暂存区,每次修改,如果不添加到暂存区,提交时不会加入到分支中。 -
使用命令
git commit -m <message>
,提交的说明一定要写(字符串加双引号);就是把暂存区的所有内容提交到当前分支。
-
-
查看工作区状态:
-
使用
git status
命令,随时掌握工作区的状态;
状态一:修改了没有添加到缓存区(红色)
状态二:修改了添加到了缓存区(绿色)
状态三:On branch master nothing to commit, working tree clean
-
如果是状态一,用
git dif
f可以查看修改内容。“-”号是修改前,‘’+"号是修改后,第一个加号后修改的前一行。第二个加号是修改的内容
-
-
切换版本库:
在分支中HEAD指向的版本就是当前版本,因此使用命令git reset --hard commit_id
可以随意切换到修改过的版本当中。-
用
git log
可以查看提交版本的历史信息,即查询commit_id
以便确定要回退到哪个版本,git log --pretty=oneline
可以使历史信息更直观。 -
git reflog
查看命令历史,记录了所有分支的所有操作(包括已经被删除的 commit 记录和 reset 的操作)。
-
-
撤销修改:
git checkout -- <file>
可以丢弃工作区的修改:-
直接操作工作区文件,但如果修改过多容易操作错误
-
用命令
git checkout -- <file>
,撤销本次的全部修改 -
场景1:修改了工作区的内容,没有添加到缓存区
-
场景2:修改了工作区内容,还添加到了暂存区时,想丢弃修改,分两步,
-
场景3:添加到缓存区且提交,想要撤销本次提交,只能切换版本,不过前提是没有推送到远程库。
-
用命令
git reset HEAD <file>
就回到了场景1, -
按场景1操作。
-
-
删除文件:
前提是文件有被添加到版本库,不然没有记录就不能实现任何git的操作
同理删除算大修,改执行下面两种操作后,不用添加到暂存区了,直接提交git commit -m <message>
这样当前版本也就删除了改文件-
直接在工作区删除文件
-
git rm <file>
删除文件
-
-
远程仓库:
-
远程仓库默认的主分支是origin,对应本地仓库的master
-
关联远程仓库
$ git remote add origin
https://github.com/609678513/gitStudy.git` -
上传推送本地分支
$ git push -u origin master
-
克隆远程仓库
$ git clone
https://github.com/609678513/gitskills.git 注意:Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
-
-
分支管理:
-
暂存分支工作状态
git stash
-
查看分支存储的工作状态
git stash list
-
恢复分支工作状态
git stash apply
-
删除分支存储的工作状态
git stash drop
-
恢复并删除分支存储工作状态
git stash pop
-
查看分支:
git branch
-
创建分支:
git branch <name>
-
切换分支:
git checkout <name>
-
创建+切换分支:
git checkout -b <name>
-
合并某分支到当前分支:
git merge <name>
-
删除分支
git branch -d <name>
-
合并分支时,Git会用Fast forward(快进)模式,但这种模式下,删除分支后,会丢掉分支信息,
-
禁用该功能,Git就会在merge时生成一个新的commit
$ git merge --no-ff -m "<message>" <name>
-
当前分支没有合并时会提示
$ git branch -D <name>
即是否强行删除,输入该指令即可强行删除该分支 -
当前分支作业时:
-
临时切换分支作业时
-
本地同步更新远程分支:
git pull
-
IDEA操作Git
一、配置git路径:
出现版本号即为成功
二、克隆项目
或者
填写克隆路径及输出路径
三、上传项目到git仓库
1、在你的idea里新建git仓库,这是新建本地仓库,等会会同步到线上git仓库
2、新建后如果文件名不是绿色的表示没有加入到git索引中
3、将需要上传的文件按照下图方式add
4、添加后,相应的文件名会变成绿色
5、然后commit项目,提交项目,这里是先提交带本地仓库
6、然后push到线上仓库
7、如果第一次提交项目的话,这里是没有远程地址。点击蓝色的字,定义远程地址。
8、如果之前提交过的话,这里是有分支信息的。
四、更新项目、解决冲突
1、按照图片中的步骤,顺序不能乱,先stash,然后pull,最后unstash
2、stash会让你输入标记名称,unstash的时候选择想要的标记
3、如果代码有冲突,我们需要编辑冲突,我们一般选择merge,就是合并的意思,当然你也可以不合并直接使用线上的或者暂存里的代码。
4、合并代码的时候,图片中描述了,三屏分别对应的是什么。
五、切换git分支
右下角有个当前分支名称,点击会弹出一分支信息。如果你想切换分支,选中分支,点击右键checkout即可。
六、实现Git项目回滚
1、首先我们要回滚的项目右键,如下:
2、然后你会看到这个项目提交记录
3、选择你要回滚的地方,然后右键,如下:
4、然后你在一个能写字的地方把刚刚的复制的东西粘出来,就会得到一串数字。如下:
5、每个的数字串都不一样,勿纠结,然后,依次点击如下:
6、就会得到如下:
7、然后更改一下,改为如下:
就可以了