GIt基础命令

刚才整理电脑桌面,看到了很久之前根据廖雪峰的git教程去学习git时整理的笔记,于是将其记录到博客。

创建版本库:

mkdir 文件夹名称           --创建文件夹
cd 文件夹名称              --进入文件夹。pwd查看当前文件夹路径
git init                 --将文件夹变为git可以管理的仓库

添加文件到版本库:

git add filename           --添加文件到git仓库
git commit -m "描述信息"   --提交文件到git仓库

修改文件后相关操作:

git status                 --查看git状态
git diff filename          --查看文件修改
git add filename           --修改文件后同样需要添加和提交
git status                 --查看当前仓库状态,可看到即将提交的被修改的文件
git commit -m "描述信息"

版本回退:

git log [--pretty=oneline]  --查看历史版本记录。加书号里面的,显示概略信息(版本id和描述)
git reset --hard head^     --版本回退到上一个版本。head表示当前版本,^表示上一个版本,^^表示上上个版本,head~10表
示第前10版本
git reset --hard 版本号    --当回退到历史版本后,可用这种方法回到未来版本。版本号写几位就行,git会自动查找
git reflog                 --查看提交命令记录,找到未来版本id

管理修改:

第一次修改——>git add——>第二次修改——>git commit。在这种情况下,第一次修改通过add被加到版本库的暂存区,
而第二次的无add操作,所以commit的只是暂存区的第一次修改。整个过程之后可使用git diff来查看第二次修改确实未提交。

撤销修改:

git checkout -- filename   --丢弃工作区的修改
git reset HEAD filename    --丢弃暂存区的修改,使其变为工作区的修改,要彻底放弃这个修改,还需进行上一步

删除文件:

文件被提交到版本库后,在文件管理器删除文件后,还需要使用git rm filename 命令来删除版本库中的文件。
否则工作区和版本库不一致。如果工作区的文件是误删,则可以使用 git checkout -- filename来恢复。
(实际上checkout是拿版本库中的版本替换工作区的版本)

创建与合并分支:

git branch 分支名          --创建分支
git checkout 分支名        --切换到分支
git checkout -b 分支名     --创建并切换,是上两行命令的结合
git branch                 --列出所有分支
git merge  分支名          --合并分支名到当前分支
git branch -d branchName   --删除分支
                           ***推荐使用分支完成某个任务,完成后与主分支合并。这和直接在主分支上工作效果是一样的,
                           但过程更安全。

解决冲突:

当两个分支都对同一个文件有修改,使用git merge命令无法自动合并分支时,首先需要解决冲突(进入冲突文件,
对比冲突内容进行解决),之后再提交, 合并就完成了。
使用git log --graph命令可以看到分支合并图。

分支管理策略:

合并分支时在git merge后加上--no-ff参数使用普通合并模式。合并后的历史有分支,能看出来曾经做过合并;
而fast forward合并就看不出来曾经做过合并。

bug分支:

修复bug时,一般创建新的bug分支修复。最后合并删除。当手头有工作没有完成,不能提交也不想舍弃时,
可使用 git stash 命令将当前境况隐藏,再去分支修复bug。bug修复后使用 git stash pop回到之前隐藏的工作现场。
git stash                  --隐藏工作现场,暂时去做别的事
git stash apply            --恢复工作现场,且stash并不会删除
git stash drop             --删除stash
git stash pop              --恢复stash的同时把stash内容也删了
git stash list             --查看所有的被隐藏的现场。

feature分支:

开发一个新功能,最好新建一个分支。
要丢弃一个没有被合并过得分支,可以使用 git branch -D branchName 强行删除
git branch -D branchNmae   --强行删除分支。

多人协作:

git remote                 --查看远程库信息
git remote -v              --显示远程库更详细信息
git push origin master     --推送本地分支master到远程库origin
                           ***一般情况下,master是主分支,dev是开发分支,两个都需要时刻与远程同步。自己的bug分
                           支和feature分支,可以视情况而定
                           
git pull                   --抓取远程新的提交。自己的分支push失败时,可能是因为远程分支比本地分支新,需要pull下
                             来进行合并。如果提示no tracking information, 说明本地分支和远程分支没有链接关系,
                             需要用下面的命令创建。

git branch --set-upstream-to branchName origin/branchName   --建立本地分支和远程分支的链接关系
                     ***push时有冲突,在pull下来后,进行冲突合并,再在本地提交,最后将分支推送到远程。

标签管理:

git tag tagName            --在当前分支新建一个标签。后面可加commit id来指定标签位置
git tag -a tagName -m "描述"     --可以指定标签信息
git tag                    --查看所有标签
git push 远程库名 tagName  --向远程库推送单个标签tagName
git push 远程库名 --tags   --推送全部尚未推送的本地标签到远程库
git tag -d tagName         --删除本地标签
git push origin :refs/tags/tagName --删除一个远程标签

git自定义玩法:

git可以设置忽略特殊文件
git可以给命令设置别名,简化git命令
可以自己在服务器上搭建git,保证代码的私密性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值