git基本使用:
1.从远程仓库克隆到本地(这个操作直接就创建了一个git仓库,不用再初始化git仓库了):
git clone 远程仓库地址 git clone http://ip:端口/root/smart-firefighting.git
2.本地和远程版本提交点切换:用途(比如想从以前的某个提交点进行,就会用到该指令)
#1.本地版本提交点切换操作:提交id指的就是要回退到的时间点(每次commit都会产生一个序列id),会将当前分支和head指针一起移动到指定的提交点上。 git reset :涉及四种状态(Soft,Mixed,Hard,Keep) 1.soft:文件并不会发生变化,发生变化的地方都会被添加到暂存区 2.mixed:文件不会发生任何变化,发生变化的地方不会被添加到暂存区 3.hard:文件会变为响应提交点时的状态,任何修改都会丢失(暂存区的内容也会丢失) 4.keep:smart reset冲突的地方可能会出现合并
3.分支切换:
git switch 分支 #注:如果切换一个本地不存在的一个分支,则会出现提示信息“invalid reference”
4.创建和删除本地分支:
#创建本地分支 git branch 分支名字 #删除本地分支 git branch -d 分支名
5.在push时经常出现的问题:
此时先git pull将远程仓库的最新状态拉取下来,在该过程中有可能会出现冲突(冲突就是指远程仓库中已经提交的修改可能和你的修改是同一个文件等这种类似的情况),在这时git会提示合并操作,并提示用户冲突的位置,让用户来选择保存的版本,冲突解决后,再次push就可以了。 #push操作 git push origin : #2.远程版本提交点切换操作:强制切换远程分支的时间点(变动的是远程分支) git push --force origin : #pull操作 git pull origin : #这里可能会出现合并提示。 git pull --force : #注:此操作就是将本地分支强制和远程分支保持一致(变动的是本地分支)。这个不会出现合并问题。
6.head和master指针:
- git reset:head和master指针一起变动
- git checkout:只有head指针变动
- git switch:只有head指针变动
7.IDEA中revert(恢复)操作:将暂存区内容撤销,也就是将git add命令添加的东西撤回到工作区。
#revert等价于命令 git restore --staged:.表示将暂存区所有内容撤销。
8.fetch和pull的区别:
pull == fetch + merge
9.经常遇到的问题(no-fast-forward)这个情况一般就是当前需要push的本地分支在远程分支的提交点之后.
解决方法:git merge
10.删除untracked files:
# 删除 untracked files git clean -f # 连 untracked 的目录也一起删掉 git clean -fd # 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删 git clean -nxfd git clean -nf git clean -nfd