git 学习笔记

git中常用的Linux操作

git中的指令与Linux操作基本类似,首先了解简单的Linux操作

cd : 切换目录命令

ls  :列出文件列表

ls -a / ls -l / ll 显示所有文件或目录(包含隐藏的文件)

mkdir :创建一个空的文件夹

mkdir -p: 级联创建文件夹 例如:app2/test

rmdir: 删除空的子目录

cat : 查看文件内容

more:查看文件内容,空格下一页数据,回车显示下一行数据

less :查看文件内容,PgUp和PaDn进行上下翻页

tail:显示文件最后几行 

rm:删除文件

cp:复制文件

mv:移动或者重命名文件

find:查找符合条件的文件

touch:创建我呢见

pwd:显示当前目录

vi:文件编辑

重定向输出>:将输出定向到a.txt中 ; >>:输出并且追加

git操作

git工作原理

git add :将工作目录,转移到暂存区。

git commit -m :将暂存区的文件,转移到本地仓库 -m 备注信息

查看日志

git push :推送到远程仓库

git push -f :强制推送远程仓库,会把之前仓库分支下内容全部覆盖掉

在推送时可能会出现error: failed to push some refs to ‘git@gitee.com:name/project.git’

解决方法:git pull  origin master : 将远程仓库中的更新合并到本地仓库

git pull origin 远程分支:本地分支 : 将远程仓库送回到本地仓库

git ls-files:查看仓库所有文件

 git reset --hard 版本号:返回到之前commit之前

git checkout -- <filename>  : 可以退回之前的文件信息

git rm 可以删除 仓库中文件包括工作区和缓存区

git rm --cached 可以删除仓库和缓存区的文件,不会删除工作区

仓库管理

创建本地仓库

git init:在本地创建一个新的git仓库

创建本地仓库

需要先生成一个ssh密钥:ssh-keygen -t rsa -C "之前创建本地的邮箱"

①远程已经有一个仓库需要通过git clone克隆一个远程仓库

②git remote add origin <仓库网站> : 关联远程仓库

可以通过git remote -v 来查看关联远程仓库

分支管理

        先说分支的作用:分支不是GIT的专利,早在CVS时代就有了。分支对于团队来说作用太大了。比如说一个项目现在是1.0版,那么开发团队可能要同时进行1.1版和2.0版的开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。

git brance : 查看分支

git brance <brancename>: 创建分支

git chekout <brancename>: 切换分支

git checkout -b  <brancename>:创建并切换一个新的分支

git switch <brancename>: 切换分支

git switch -c <brancename>: 创建并切换一个新的分支

git branch -d <brancename>:删除分支

git merge --no-ff: 会强制合并,不会有冲突,但是会有数据丢失

 git rebase: 与 git merge 类似,结构化更清晰

git push origin <brancename> --delete <brancename> : 删除远端分支

git push <origin> -- delete <brance> : 删除远端分支

删除后可以通过reflog查看日志,来找找回删除之前的信息

注意:

①当git无法自动合并分支,就必须首先冲突。解决冲突后,再提交,合并完成。

②解决冲突就是把git合并失败的文件手动编辑为我们希望的内容,再提交。

③用 git log --graph 命令可以看到分支合并图

 标签管理

git tag : 查看标签

git tag <tagName> : 创建标签,与最近一个commit_id绑定

git tag <tagname> + commit_id 在commit_id处创建标签

git tag <tagname> + commit_id 在commit_id处创建标签

git tag -d <tagname> 删除标签

git show <tagname> 查看标签的信息

git push origin <tagname>  将tagname标签推送到远端

git push origin --tags:将所有标签推送到远端

git checkout banch_name tag_name: 创建一个绑定commit_id的分支

注意:

删除远程标签时,要先删除本地标签,然后在进行删除git push origin:refs/tags/<tagname>

在学习阶段出现问题以及解决方案

①push上传后,将之前直接覆盖

解决方法:

该问题属于正常现象,在合并分支之后先处理分支后再push提交上去

②push上传失败

解决方法:

git poll  -> git add . -> git commit -m "提示信息"

③返回到上版本时,数据没有改变问题

解决方法:

git reset --hard + commit_id

git checkout --文件名

git add .

git  commit

注意:

①当工作区某个文件的内容,丢失工作区的修改时,用git checkout --file

②当不但改乱了工作区某个文件的内容,还添加到了暂时区时(git add),想丢弃修改,要先执行

git reset --hard commit_id / git reset Head

③已经提交了(git commit) 时,想要辙回本次提交,只能返回上一次版本。

(推送到远程仓库就不行了)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值