Git介绍以及踩坑

git 一共分为三个区

工作区 ->暂存区  ->版本区 

工作区:就是我们平时写代码(本地)的区域(git status查看状态 如果是红色的 表明代码在工作区)

暂存区:就是由工作区(本地)通过git add 上来的就是暂存区(git status查看状态 如果是绿色的 表明代码在暂存区)

本地版本区:就是由暂存区通过git commit 上来的就是版本区

远端版本区:就是版本区通过git push就是推送到远端

总结:

代码流程:工作区->暂存区->本地版本区->远端版本区


git 落后解决方式

方式一:

1.落后谁拉谁。git pull --rebase origin develop/xxx

2.存在代码冲突解决代码冲突

3.git add .(可能不要使用  具体查看git status)

4.git rebase --continue(这个也是具体用如果你的个人分支名字后面存在REBASE就使用这个命令)  注意先git status  在git add  最后在git rebase --continue

5.git push -f

方式二:

1.先切换为落后的分支ttt(xxx请求合并ttt(落后))

2.拉一下远端落后的分支git pull 

3.切回本地提交代码的分支xxx

4.git merge 本地落后的分支(git merge ttt)

5.有冲突解决冲突

6.git push -f 


常用的git 命令

git status 查看状态  

git add . 指的是提交所有的文件

git add xxx文件名 指的是提交某个文件

git checkout . 用的场景是比如你在工作区修改了文件a ,文件b 等。然后你又不想要这个文件的改动的 你就直接使用这个git checkout ., 就能撤销改动一键恢复到改动前

git checkout 文件名 用的场景是比如你在工作区修改了文件a ,然后你又不想要这个文件的改动的 你就直接使用这个git checkout 文件名, 就能撤销改动一键恢复到改动前

git clean -xdf  比如你新增了很多个文件 然后你都不需要了 你就使用这个 但是需要慎用,会删除掉所有新增的文件

git branch 查看当前分支

git branch -a 查看所有分支

git checkout -b 创建并且切换分支 

git checkout 切换分支 分支名

git log 查看提交日志

git reset --soft  commitID 本地版本区回滚到暂存区 (commitid 是通过git log 获取 这个commitID为你最新提交的上一个commitID)

git restore --staged  xxx文件名  暂存区回滚到本地版本区

git diff只能查看工作区代码的变化

git diff --staged 如果想看暂存区的代码改动

git show <commit_id 如果commit以后还想看改动就用

git cherry-pick 这个命令就是其他的分支的代码已经上库未合并 然后新建分支 直接用这个命令 就可以把分支a 的提交到分支b上面来 

比如分支a 上面提交c改动  然后b 分支上也想要a分支的改动,首先做的操作是

1.git checkout -a

2.git log 查看分支a 改动的c commitID 

3.在切换回git checkout b

4.git cherry-pick 分支commitID

git cherry-pick 多个提交 直接这样git cherry-pick commitid^...coimmitid2 可能会出现这样的报错 error commit 某个commitID is a merge but no -m option was given,接下来你需要做的事情是先使用git cherry-pick soft 回滚 ,然后再使用git cherry-pick -m 1 commitid^...coimmitid2.接下来会提示你说为空什么的 你就使用这个git cherry-pick skip ,一直使用git cherry-pick skip,直到不再提示为空,就证明你已经把其他分支的提交合并并commit了


防止代码落后的操作(先拉取最新代码,在提交)

第一次提交

1.先git stash 暂存代码(就是可以先把你的改动保存起来,暂时恢复到没有任何改动的情况)

2.git pull 拉取主分支的最新代码(前提是你在主分支上面比如master )

3.最后在git stash pop(就是把你之前的改动在拿出来 )

4.创建并且切换分支 git checkout -b 分支名  

5.git add .

6.git commit -am '[FIX]TD号  描述做的操作'

7.git push 

第二次提交 上次提交有误,不修改评论直接重新提交,最后显示提交次数也是只为一次

1.git add . 

2.git commit -C head -a --amend(超级无敌好用这个 最后显示提交次数也是只为一次 )

3.git push -f 上传修改后的提交(第二次push一定要加f  不然推不上去)

多个commit提交需要合并成一次提交 ,有时候如果不能使用这个git commit -C head -a --amend,只能手动操作

1.git log  查看你想最近提交的上一个commitid1

2.git reset --soft commitid1

3.git reset 

4.git commit -am '[xxx]描述信息'

5.git push -f 


只要是你在pycharm里打开这目录,他就会有.idea这个文件夹

.gitignore是告诉git我要忽略对某个文件夹的跟踪

.idea 是pycharm生成的 


修改分支名

1.git branch -m 老分支名字 新分支名字

2.git push origin: 老的分支名字(将本地分支的远程分支删除)

3.git push --set-upstream origin 新分支名字(将改名后的本地分支推送到远程,并将本地分支与之关联)


修改git commit描述信息,不一定回滚操作在提交

1.点击idea 左下角Git

2.点击Log:all

3.找到自己的提交记录,点击鼠标右键

4.点击Edit Commit Message进行修改

6.git push -f 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值