git入门2

Git入门2

还没看《入门1》 ?跳转到第一篇

Git项目搭建

本地新建Git

在要建立本地git项目的文件目录下右键
选Git Bash Here
键入

git init

初始化git项目,生成一个叫".git"的隐藏文件夹

克隆一个远程的仓库

浏览器进giteegithub

复制地址后
Git Bash中键入

git clone 地址

文件的4种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

  • Untracked
    未跟踪,此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为staged.
  • Unmodify
    文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致。这种类型的文件有两种去处。如果它被修改,则变为Modified. 如果使用git rm移除版本库,则变为Untracked文件.
  • Modified
    文件已修改,仅仅是修改,并没有进行其他操作。这个文件也有两个去处,通过git add可以进入暂存staged状态,使用git checkout则丢弃修改过,返回unmodify状态,这个git checkout即从库中取出文件,覆盖当前修改!
  • Staged
    暂存状态. 执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为unmodify状态状态. 执行git reset HEAD filename取消暂存,文件状态为Modified

注意是unmodify不是unmodified

实例:版本管理工作台文件夹下的Yo.docx文件

在工作台文件夹目录下git Bash,

  • 键入git init初始化建立本地 .git,键入git status查看状态
git init
git status

如图显示有一个untracked文件Yo.docx


  • 键入git add . 将所有文件保存到暂存区,键入git status查看
git add .
git status

如图显示有个待提交的Yo.docx


  • 键入git conmmit -m 提交所有文件到本地仓库
git commit -m "这是要提交的信息"
git status

如图显示工作树和待提交区啥也没有


  • 如果连接了远程可以再键入git push将文件推送到远程数据仓库

实例结束

忽略文件

如前端的npm_moudles不需要打包提交,.idea目录下的东西不需要提交,本地的东西不需要提交

  • 建立 .gitignore文件
  • 语法
1. #为注释
2. 可以使用linux通配符, 星号(*)代表任意多字符,(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选字符串。
3. 名称前有一个感叹号(!),表示里外规则,将不被忽略。
4. 名称前面是路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
5. 名称后面是路径分隔符(/),表示要忽略的是该目录下的子目录,而非文件(默认文件或目录都忽略)

Eg:
*.txt   #忽略所有txt
!lib.txt   #但lib.txt除外
/temp   #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/   #忽略build/目录下的所有文件
doc/*.txt   #会忽略doc/notes.txt但不包括doc/server/arch.txt

使用github或gitee(码云)

github有墙,较慢。国内一般用gitee,公司中有时候会搭建自己的服务器(gitlab下载后在linux上部署)

  • 设置本机绑定SSH公钥,实现免密码登录!(码云是远程仓库,我们平时工作在本地仓库)
#进入C:\Users\Admin\.ssh目录
#生成公钥
ssh-keygen
ssh-keygen -t rsa   这个参数是官方推荐的加密
  • 将公钥信息public key添加到码云账户中即可!

  • 使用码云创建一个自己的仓库
    注意创建的公开仓库需要选一个开源许可证(是否可以随意装载,是否可以商用。gpl常用)


用IDEA集成git

Eg:
在gitee新建一个仓库
将远程仓库所有文件clone到本地
将自己的文件复制进去
IDEA打开
可以鼠标点选add进暂存区再提交到本地仓库等
也可以在terminal内键入git指令

Git的分支

如主master分支,开发dev分支,各历史版本分支

git分支中常用命令

# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 新建一个分支,但依然停留在当前分支
git branch [bracnch-name]

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 合并指定分支到当前分支
git merge [branch]

# 删除分支
git branch -d [branch-name]

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

git在gitee有命令大全啥的

posted @ 2021-02-05 13:13  菜鸟巫师illich  阅读(37)  评论(0编辑  收藏  举报