Git常用命令收集

目录

查看分支

储藏


查看远程仓库url

git remote -v

查看分支

git branch            (只显示本地分支)

git branch -a          (显示本地分支和远程分支)

git branch -d  xx (删除本地分支xx)

git branch -vv        (显示本地分支和对应的远程分支)

 远程分支已删除,本地如何更新

git remote prune origin

从远程分支拉一个自己命名的本地分支

git checkout -b <本地分支> <远程分支>

一般远程分支是以origin开头的

删除本地分支的某个commit 

1. git log // 查找要删除的前一次提交的 commit_id
2. git rebase -i HEAD~1//删除HEAD最近的1次 ,也可以将 HEAD~1 替换成commit_id 的值
3. 进入 Vim 编辑模式,将要删除的 commit 前面的 `pick` 改成 `drop`
4. 保存并退出 Vim

删除远程分支的某个commit 

先在本地删除,再强制推送到远程。
-f 参数是强制提交,因为删除之后本地库落后于远程库一个版本,因此需要强制提交。
git push -f <远程主机名> <本地分支名>  
例如: 强制推送到origin的master分支上
git push -f origin master

使用rebase命令中断后git分支名一直带rebasing,如何去除 :

rm -rf .git/rebase-apply  搞定

git放弃本地修改:

git checkout .       放弃所有修改    

放弃某个文件的修改

git checkout -- filepathname

添加整个文件夹及目录

git add 文件夹/ 添加整个文件夹及内容
git add *.文件类型 添加目录中所有此文件类型的文件

拷贝其他分支commit到当前分支(最为新的提交会生成新的commit-id)

git cherry-pick commit-id  

# 修改最新一次提交的描述信息。

$ git commit –-amend

$ git commit --amend -m "提交描述"

将最后一次commit 的时间 改为当前时间

git commit --amend --date="$(date -R)"   或

git commit --amend --date=`date -R` 

修改历史commit 的时间

1. git  rebase -i  xxx   (xxx填 HEAD~n 或者 commit id)

2.把要修改的commit前面的 pick 更改为 edit 或者 e ,之后 :wq 保存退出 

3.执行 git commit --amend 进入编辑器编辑commit

4.执行 git rebase --continue 即可完成修改

在当前commit上再添加修改

1. git add  修改

2.git commit --amend 

3.wq退出

储藏

git stash save "xxx"   # 储藏所有未提交的修改(包括暂存的和非暂存的),记录为xxx
git stash push file -m "xxx" #储藏指定未提交的修改,记录为xxx
git stash list         # 查看储藏列表
以下命令不加stash@{index}默认操作最近一次的储藏
git stash show -p stash@{index}   #查看指定index的改动
git stash apply stash@{index}     #取出指定index的储藏(取出后不从列表删除)
git stash pop stash@{index}       #取出指定index的储藏(取出后从列表删除)
git stash drop stash@{index}      #将指定index的储藏从储藏记录列表中删除
git stash clear                   #删除所有储藏

windows报错:git Filename too long

解决git有可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api。解决方式是:

git config --global core.longpaths true

代码合并 合并所有修改

 # 将branch1中的修改(f/g)合并到branch2,可执行如下命令行

# 将分支切换到 branch1 分支

$ git checkout branch2

# 将branch2修改merge到branch1

$ git merge branch1

合并某一个或者几个修改

# 将branch1中的某个修改(f/g)合并到branch2,可执行如下命令行

# 先将分支切换到branch2

$ git checkout branch2

# 将branch1中的f修改优选到branch2

$ git cherry-pick

# 一次性cherry-pick某几个commit点

$ git cherry-pick

# 撤销cherry-pick过程

$ git cherry-pick --abort

# 解决冲突后,继续cherry-pick的进程,否则可能造成无法推送的问题

$ git cherry-pick --continue

管理跟踪远程仓库

# 查看连接的远程仓库地址

$ git remote -v

# 为本地仓库添加远程仓库地址

$ git remote add [name] [gitUrl]

# 将本地仓库的master和远程仓库的master进行关联

$ git push -u origin master

# 为本地仓库修改远程仓库地址

$ git remote origin set-url [gitUrl]

标签操作(Tag)

# 新建标签

$ git tag [tagName]

# 查看标签列表

$ git tag

# 删除标签

$ git tag -d [tagName]

# 推送标签到远程仓库

$ git push origin [tagName]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值