Git基础命令

文章目录

命令

git init :将当前目录变成Git可以管理的仓库
git add <file> :文件修改添加到暂存区
git commit -m <message>: 把暂存区的所有内容提交到当前分支,message是提交注释
git status :查看文件提交情况
git diff <file> : 查看文件修改的内容
git log : 查看提交历史日志,加--pretty=online使其展示更简洁。
git reset --hard <commit_id> : 回退到某个提交id版本;若退回后想重新回到原版本,使用git reflog查看历史命令。
git reflog : 查看历史命令,可看到提交的commit_id进行回退。
    commit_id不用写全部,可以写部分,git通过左模糊查询到提交的版本。

git checkout -- <file> : 丢弃某个文件的修改,让这个文件回到最近一次git commit或git add时的状态
git rm <file> :删除文件,然后commit进行提交;误删的话,可通过 git checkout -- <file>进行还原。
git remote add origin <远程仓库地址> : 将本地仓库与远程仓库关联
git push -u origin master :将master分支内容推送到远程仓库,-u表示Git不但会把本地的master分支内容推送的远程新的master分支;
还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,用git push orgin master即可。

git clone <仓库地址> :将远程仓库克隆一份到本地。
git checkout -b <分支名> :创建并切换到该分支,或者使用git switch -c <分支>也行
git branch <分支名> : 创建分支
git branch : 列出所有分支,当前分支前面会标一个*号。
git checkout <分支名> :切换到该分支,或者使用git switch <分支名>
git merge <分支名> :将当前分支与指定分支进行合并
git branch -d <分支名> :删除分支
git stash : 保存工作现场
git cherry-pick <commit_id> :复制一个特定的提交到当前分支
git remote -v : 查看远程仓库信息,fetch/push分别表示抓取和推送的地址,若没有某个地址则表示无此权限。


概念

  • 推送步骤:
1.先拉后推
    远程分支比你的本地更新,需要先用git pull试图拉取最新内容并合并。
    如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>。
2.拉取后合并出现冲突
    解决冲突,并在本地提交。
  • HEAD
Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本;
上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
相当于指针,指向当前版本ID。
  • Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容
    例如,发生冲突时, HEAD表示当前分支内容;feature1分支内容
Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.
<<<<<<< HEAD
Creating a new branch is quick & simple.
=======
Creating a new branch is quick AND simple.
>>>>>>> feature1
  • Fast forward模式
    合并分支时,如果可能,Git会用Fast forward模式;即将HEAD当前分支的指针快速指到最新的分支内容上。

Bug分支

  • 适用场景:当正在进行新的需求开发(dev分支)时,需要在原先版本(master分支)的进行bug修改;但新的需求开发代码暂时还不能提交。
  • 步骤:
1.保存工作现场(当前分支为dev)
    git stash
2.切换到master分支,在master分支上创建bug修复的分支
    git checkout master
    git branch -b bug101
3.修复完成后合并到master分支(当前分支为bug101)
    git checkout master
    git merge bug101
4.切换到dev分支,恢复工作现场
    git checkout dev
    git stash list : 查看工作现场
    git stash pop : 恢复工作现场并删除工作现场;git stash apply和 git stash drop命令的集合。
5.此时master修复的bug与dev的部分不一致,需将bug修复的部分也合并到dev分支
    git cherry-pick <commit_id> :复制一个特定的提交到当前分支
6.删除bug分支
    git branch -d bug101

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值