git 操作

git 操作

1 常用操作

初始化本地仓库
git init 
本地提交

添加全部已经修改的文件,准备commit 提交

git add .

将修改后的文件提交到本地仓库

git commit -m '提交说明‘

2 分支 操作

创建分支

基于当前commit创建test分支。.git/HEAD 文件中记录了当前分支名字

git branch test
删除分支
git branch -d test

强制删除分支

git branch -D test
切换到分支
git checkout test
直接创建分支并切换到分支
git checkout -b test
查看远程分支
git checkout -r test

3 拉取/推送

以上传gitub为例

连接到远程仓库,并将代码同步到远程仓库

git remote add origin https://github.com/xxxx/xxx

创建一个 upStream (上传流),并将本地代码通过这个 upStream 推送到 别名为 origin 的仓库中master 分支上,-u ,就是创建 upStream 上传流,如果没有这个上传流就无法将代码推送到 github;同时,这个 upStream 只需要在初次推送代码的时候创建,以后就不用创建了

git push -u origin master

以后提交

git push origin master
将本地分支与远程同名分支相关联
git push --set-upstream origin <本地分支名>

简写方式

git push -u origin <本地分支名>
pull操作
  1. 将远程指定分支 拉取到 本地指定分支上
    似乎还是拉取到当前分支上
git pull origin <远程分支名>:<本地分支名>
  1. 将远程指定分支 拉取到 本地当前分支上
git pull origin <远程分支名>
  1. 将与本地当前分支同名的远程分支 拉取到 本地当前分支上(需先关联远程分支)
git pull
push操作
  1. 将本地当前分支 推送到 远程指定分支上(注意:pull是远程在前本地在后,push相反)
git push origin <本地分支名>:<远程分支名>
  1. 将本地当前分支 推送到 与本地当前分支同名的远程分支上(注意:pull是远程在前本地在后,push相反)
git push origin <本地分支名>
  1. 将本地当前分支 推送到 与本地当前分支同名的远程分支上(需先关联远程分支)
git push

4 改名

git branch -m br_rename_old br_rename_new

5 git rebase

合并多次无用的提交记录

git rebase -i  [startpoint]  [endpoint]
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)

ps
eg:
合并某几条 commit
为了展示最近10次commit 的 commit id(最下面的为最新提交),采用了

git rebase -i HEAD~10

假设最新提交为commit1,将commit 4~9 合成一个,则修改图中的文字,将 commit 4 ~ commit 8的pick均改为s,即squash(将后面的修改“挤进”早些的 commit),剩余的 commit 保留 pick 状态

6 git放弃修改

https://blog.csdn.net/baidu_35007727/article/details/122927676

6.1 未使用 git add 缓存代码时
$ git checkout --<文件名称>
放弃单个文件的修改
 
$ git checkout .
放弃全部文件的修改
 
 
注:此命令不会删除新建的文件,因为刚新建的文件还没已有加入到 git 的管理系统中,所以对于git是未知的。自己手动删除就好了
6.2 已经使用了 git add 缓存了代码
$ git reset HEAD <文件名称>
放弃指定文件的缓存
 
$ git reset HEAD .
放弃全部文件缓存
 
 
注:此命令用来清除git add的缓存,相当于撤销git add命令,使用本命令后本地修改的文件并不会发生变化,继续使用git checkout命令可放弃修改
6.3 已经用 git commit 提交了代码
$ git reset --hard HEAD^
回退到上一次commit状态
 
$ git reset --hard <commitid>
回退到任意版本
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值