Git基本命令

Git基本命令

-m "参数"     通常是描述信息

 

  • git init 当前位置初始化或者创建git仓库
  • git add <file> 添加待文件
  • git commit -m <message> 提交更改
  • git status  查看仓库当前状态
  • git diff  查看仓库文件的修改内容

 

版本的更换

  • git reset --hard HEAD^ 回退上一个版本
  • git reset --hard commit_id 回退到指定ID的版本
  • git log可以查看提交历史
  • git log --pretty=oneline  (简化)提交历史
  • git reflog查看命令历史
  • git checkout -- file  重做,丢弃当前,(或者错误删除)用版本库里的版本重置工作区的版本
  • git reset HEAD <file> 撤销add添加到暂存区的操作
  • git rm <file> 删除文件,之后需要commit

分支的操作

  • 查看分支:git branch
  • 创建分支:git branch <name>
  • 删除分支:git branch -d <name>
  • 强行删除没有合并的分支 :git branch -D <name>
  •  
  • 切换分支:git checkout <name>
  • 创建+切换分支:git checkout -b <name>
  •  
  • 合并name分支到当前分支(快速合并会丢失分支信息):git merge <name>
  • 合并name分支并保存分支历史 :git merge --no-ff -m "<message>" <name>  
  •  
  • 查看分支合并图 :git log --graph 
  • 查看简化分支合并图 :git log --graph --pretty=oneline --abbrev-commit
  • 把本地未push的分叉提交历史整理成直线 :$ git rebase

 

多人协作:

推送分支:

  • $ git push origin master
  • $ git push origin dev

抓取分支:

  • 从远程仓库克隆数据:$ git clone git@github.com:michaelliao/learngit.git
  • 抓取与远程仓库对应的dev分支:$ git checkout -b dev origin/dev

推送冲突解决:

  • 1、抓取提交代码:$ git pull
  • 2、建立本地与远程仓库分支的连接:$ git branch --set-upstream-to=origin/dev dev
  • git branch --set-upstream-to <branch-name> origin/<branch-name>
  • 3、建立连接后再次抓取$ git pull,是否有合并merge冲突
  • 4、手动解决合并冲突,查看冲突文件status,修改代码
  • 5、add、commit、push

 

bug分支:

  • 1、储存现场 $ git stash
  • 2、选择一个分支,创建一个修复bug的分支:$ git checkout -b issue-101
  • 3、在该分支上对bug进行修复,修复后跳转分支进行合并
  • $ git add readme.txt

  • $ git commit -m "fix bug 101"

  • $ git checkout master

  • $ git merge --no-ff -m "merged bug fix 101" issue-101

  • 4、查看储存的现场 $ git stash list
  • 5、git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
  • 6、用git stash pop,恢复的同时把stash内容也删了:$ git stash apply stash@{0}

 

远程仓库:

  • 获得ssh秘钥对:$ ssh-keygen -t rsa -C "youremail@example.com"
  •  
  • 将本地仓库与远程库相关联:git remote add origin git@github.com:path/repo-name.git;
  • 或者使用地址:git remote add origin https://github.com/michaelliao/gitskills.git
  • 关联码云远程库 :git remote add origin git@gitee.com:leileiywl/learngit.git
  • 关联远程仓库并更改名称 :git remote add github git@github.com:michaelliao/learngit.git
  •  
  • 第一次推送master分支的所有内容:git push -u origin master
  • 向远程仓库推送最新本地commit的master分支:git push origin master
  •  
  • 克隆远程仓库:git clone git@github.com:YaoWenlei/gitskills.git
  • 删除名为origin的远程仓库 :git remote rm origin 
  • 查看远程库信息 :git remote -v

标签

  • 命令git tag <tagname>用于新建一个标签,默认为HEAD;
  • $ git tag <tagname> <commit id>   指定ID创建标签

  • 命令git tag -d <tagname>可以删除一个本地标签;
  •  

  • 命令git tag可以查看所有标签。
  • 命令git tag -a <tagname> -m "blablabla..."可以指定标签信息;
  • 命令git show <tagname>可以看到说明文字:

  •  

  • 命令git push origin <tagname>可以推送一个本地标签;
  • 命令git push origin --tags可以推送全部未推送过的本地标签;
  • 命令git push origin :refs/tags/<tagname>可以删除一个远程标签。

 

注:本文图片来源于廖雪峰老师的官方网站

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值