git命令

在这里插入图片描述

在这里插入图片描述

注:这里的git checkout -- 文件名只是针对已跟踪已修改状态而言的

指南和手册:
廖雪峰 git:https://www.liaoxuefeng.com/wiki/896043488029600
git 官网:https://git-scm.com/docs
菜鸟教程:https://www.runoob.com/w3cnote/git-guide.html

总体就是:
本地仓库的操作命令
远程仓库的操作命令
分支的操作命令
标签的操作命令

1.git config --list
配置username就是到时候看是谁提交的文件

2.获取git仓库
本地创建一个空仓库: git init
从远程克隆一个仓库到本地: git clone xxx.git

3.工作目录(工作区),暂存区,本地版本库

4.git工作目录下文件的状态
untracked: 未跟踪(未被纳入版本控制)
tracked: 已跟综(被纳入版本控制)
	Unmodified: 未修改状态
	Modified: 已修改状态
	Staged: 已暂存状态
这些文件的状态会随着我们执行git的命令发生变化

如果一个文件是已跟踪已修改的状态,此时它可以通过git checkout -- 文件名 回到已跟踪未修改状态!
git add 文件名, 
如果是未跟踪状态的文件,是可以帮它进入已跟踪的暂存状态。
使用git reset HEAD 文件名
会重新将该文件,从已跟踪的暂存状态,变回未跟踪的状态!

如果一个文件是:已跟踪已修改的状态,但是此时在工作区,可以使用git checkout -- 文件名 恢复到已跟踪未修改的状态
如果一个文件是:已跟踪已修改的状态,但是此时处于暂存区(绿色),可以使用git reset HEAD 文件 先回到工作区,然后使用git checkout -- 文件名
回到已跟踪未修改的状态!

5.查看文件状态
git status
git status -s

6.将文件加入暂存区
git add 文件名:可以将文件的状态从未跟踪状态修改成已跟踪状态中暂存状态!

git reset HEAD 文件名,又可以将已跟踪的暂存状态 -> 未跟踪状态!

7.将暂存区文件修改提交
git commit -m 'xxxx'
会将暂存区中的文件全部提交!

git commit 不加-m , 会自动打开一个文件让你输入日志信息vim操作

8.删除文件
在工作区删除文件后,其实并没有真正在本地版本库中删除,需要commit后才会真正在本地版本库删除
git rm 文件名:执行完该命令后的文件,会自动进入暂存区,不需要使用git add 文件名, 因为删除了你也不知道文件名是啥!

如果是手动按delete删除文件,那么删除的文件并不会进入暂存区,需要你手动添加到暂存区,然后提交!

9.将文件忽略至忽略列表(.gitignore)

10.查看日志记录
git log 
通过按q来退出

11.查看远程仓库
1.如果是从远程仓库克隆下来的本地版本库,其实已经跟远程仓库关联起来了
git remote
git remote -v
git remote show origin
2.如果是本地初始化的仓库,那么还没有和远程仓库关联起来!
此时执行 git remote, git remote -v命令没有任何提示


12.添加远程仓库
这是针对于自己初始化的本地版本库而言的
git remote add <shortname> <url>:<shortname>起个名字,一般叫origin,<url>是远程仓库的地址
例子: git remote add origin xxx.git

为什么要添加远程仓库呢?
你不添加远程仓库,你在本地版本库提交的文件往哪里放啊?

13.解除本地仓库和远程仓库的关联关系
git remote rm <远程仓库的名字>
例子: git remote rm origin

14.从远程仓库中抓取(fetch)和拉取(pull)
区别:
相同点:都是从远程仓库获取最新版本到本地仓库
异同点: fetch不会自动merge到工作区, 而pull会自动merge工作区

git fetch origin master
注:就是抓取远程仓库上的master分支, 也可以简写为: git fetch

其实已经获取到最新版本到本地仓库了,但是工作区是没有显示的,
所以还需要通过 git merge命令: git merge origin/master
pull = fetch + merge

git pull origin master (这个不能简写成git pull)
如果本地仓库中存在文件,此时去拉取的话,会报错
解决此问题需要在pull的时候加入参数
git pull origin master --allow-unrelated-histories
出现:自动merge失败,要求我解决冲突
Automatic merge failed; fix conflicts and then commit the result.
哦,这是我本地和远程都有一个文件叫做hello.txt!

15.推送到远程仓库
命令: git push [remote-name] [branch-name]
git push origin(远程仓库名字) master(分支)
git commit -a -m "xxx" 表示直接将修改的文件,提交到本地仓库【这个命令还是不太清楚】

16.git分支
查看分支:
列出所有本地分支:
	命令:git branch
列出所有远程分支
	命令: git branch -r
	参数: r就是remote
列出所有本地和远程分支
	命令: git branch -a
	参数: a就是all的意思
注: * 分支名,表示当前处于哪个分支
创建分支
	命令: git branch 分支名
	注:其实是基于master分支创建的,所以刚开始代码都是一样的
切换分支
	命令: git checkout 分支名
推送到远程仓库分支
	命令: git push origin 本地分支名
合并分支
	如果想在master分支合并其他分支的内容
	需要在master分支下执行命令: git merge 其他分支名

	但有时候合并操作不会那么顺利,如果你在两个不同的分支,对同一个文件的同一个部分进行了不同的修改
	git就没有办法合并他们,同时会提示文件冲突,此时需要我们打开文件,手动去解决冲突,最后执行git add 文件名命令来标识冲突已经解决!

	将新添加的文件推送! 最终在本地仓库的修改,都需要推送到远程仓库
删除分支
	删除本地分支
		必须切换到master分支上,删除其他分支
		git branch -d 分支名
		如果本地仓库的分支与远程仓库的分支,不是完全一样,此时使用git branch -d 分支名 是删除不了的
		强制删除的话使用 git branch -D 分支名
	删除远程分支
		不是必须切换到master分支上,才可以删除分支
		命令: git push origin -d [branchName]

分支综合练习
在哪个分支下创建的分支,该分支就是以哪个分支为基础
比如:在master分支下,创建了一个b1分支,那么b1分支创建出来的内容就和master一致了

git标签:(增删改查,和远程仓库交互)
列出已经有的标签
	命令: git tag
查看tag信息
	命令: git show [tagName]
	例子: git show v1.0
创建新标签
	命令: git tag [tagName]
	例子: git tag v1.0
将标签推送至远程仓库
	命令: git push [远程仓库名][tag名]
	例子: git push origin v1.0
检出标签
	注:一般都会新建一个分支,指向某个tag
	命令: git checkout -b [branchName] [tagName]
	例子: git checkout -b devBranch v1.0
删除标签
	删除本地tag
	命令: git tag -d [tagName]
	例子: git tag -d v1.0

	删除远程tag
	命令: git push origin :refs/tags/[tagName]
	例子: git push origin :refs/tags/v1.0


在idea中使用git
遇到的问题:
push to origin/master was rejected
博客:https://blog.csdn.net/mygodit/article/details/84869504

couldn't add remote: remote origin already esists
注:可以git-> repostory-> remote删除即可

克隆完后,导入有问题!

点击提交按钮时出现:No changes detected

idea中可以直接点提交,它可以直接放到本地仓库,但是它其实先进入了暂存区,提交的时候,可以提交并推送到远程仓库!

在idea中使用git,从远程仓库拉
pull, 也可以使用更新项目!

版本对比:
在git -> compare with


SSH
控制面板\用户帐户\凭据管理器
HTTPS 是根据用户名和密码
SSH: 是公钥和私钥,公钥放在服务器上,私钥放在客户端上!
注:使用SSH协议的话,必须生成公钥和私钥!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值