git入门教程,主要命令详解。

时间:2023-03-09 15:46:17
git入门教程,主要命令详解。

准备工作

git clone url / ssh  ----------------------------------------------------------------------从github中下载项目

git config  --global user.name "pomelott"-----------------------------------------配置本机的全局用户名为 pomelott

git config --global user.email  "pomelott@163.com"--------------------------------配置本机的全局用户的邮箱为  pomelott@163.com

git config --global user.name / user.email-------------------------------------------查看用户名/邮箱

git config --list-----------------------------------------------------------------------------查看配置项列表

项目开发


git status--------------------------查看当前工作区与暂存区状态

git add  index.html---------------------将文件从工作区提交到暂存区

git add . ----------------------------------将修改过的文件全部提交到暂存区

git reset HEAD index.html----------将提交至暂存区的文件撤回至工作区

git commit  -------------------将暂存区内容提交到版本库

git commit -m "注释" ------------------------------提交到版本库时,直接在命令行添加注释

git commit -a -m "注释"-------------------------------连续将修改的文件从工作区提交至暂存区再提交至版本库

git  log--------------------------------------------------查看提交日志

***git status时会看到如下格式:此时代表工作区(红色)新增1个文件,2个被修改,1个被删除

git入门教程,主要命令详解。

***将工作区所有文件加入到暂存区后,变为绿色。

git入门教程,主要命令详解。

***同步到本地版本库后,分支变为绿色

git入门教程,主要命令详解。

工作区、暂存区、版本库 内容的区别

git diff --------------------------------------------------显示工作区与暂存区的不同

git diff --cache(staged)   ---------------------------------------显示暂存区与版本库的不同

git diff master(当前分支名称)--------------------------------------显示工作区与版本库的不同

撤销

git reset HEAD filiename.js  ------------------------------------------------从暂存区撤销到工作区

git checkout --filename.js --------------------------------------------------把工作区文件还原至版本库中的状态

git commit -a filename --amend ---------------------------------------------修改上次的提交

删除

git rm filename -------------------------------将暂存区中的文件删掉(必须在工作区中删除了相应的文件后,此命令才有效)

git rm -f filename -----------------------------------将工作区和暂存区中对应的文件全部删除

git rm --cached filename--------------------------------将暂存区中对应的文件删除,保留工作区中对应的文件

恢复

git log-----------------------------------------------------------------查看提交日志(查看版本ID)

git checkout  id(部分即可) 文件名----------------------------------迁出、恢复(某一版本的指定文件)

git reset --hard id----------------------------------------恢复至某一指定版本

git reflog -------------------------------------------查看操作历史,以确定回到哪个版本

将本地版本库同步到github

首先需要确定本地github登陆的账号与需要提交更新的远程github账户一致

git remote----------------------------------------------------查看远程仓库的名字(默认为origin)

git remote -v ----------------------------------------------------查看远程仓库的地址

git  push  远程仓库名字(默认为origin)  分支(默认为master)--------------------------------------将本地版本库同步至远程仓库

多人协作时需要首先为项目成员分配权限

可通过git config --global user.name 与 git config --global user.email 修改git工具的用户

然后在本地github上登陆新的用户

多人协作冲突解决

1. git fetch

拉取请求后不与当前分支合并,需手动合并【推荐】,一般起冲突后说明不同开发人员更改了同一部分内容,需先拉取请求后查看冲突区域

git  diff  master  origin/master 可查看冲突区域

git  merge  origin/master 合并冲突后再文件中查看起冲突的不同代码片段,将更有效的代码保留,删除无效的代码。

git  commit -a -m "注释"  提交到本地版本库

git  push  origin  master 再提交至远程仓库

2. git Pull

拉取请求后直接与当前分支合并,显示的为远程仓库中最新的版本

开源项目协作方式

点击分支fork,在自己的账户下建立开源项目的镜像

glt clone 地址,克隆到本地修改后再通过 git add 与git commit 提交到个人用户的github上

然后进行pull request向开源项目拥有者发起拉请求

git分支处理

分支常用于大型项目的多人协作开发,每一个项目成员首先在不同的分支上进行开发,最后再将多个分支合并到主分支即可。

首先可以用git branch查看分支

创建新分支 git branch newbranch(新分支的名字)

切换至新分支 git chechout newbranch

(快速创建分支并切换分支 git checkout -b newbranch2)

分支合并

在master分支下  git merge newbranch  将master与newbranch合并

git入门教程,主要命令详解。

若newbranch与master不存在冲突,则会将master分支直接连接至newbranch上,结构图如下

git入门教程,主要命令详解。

合并后可在master分支下使用:git branch --merged   查看当前分支下合并的分支

(另外可通过 git branch --no-merged 查看未合并的分支)

当前状态是master与newbranch合并,newbranch已经无效,可通过git branch -d newbranch进行删除(此方法只能删除当前分支下合并后的分支)

若要强制删除未合并的分支可用 git branch -D newbranch2

当分支冲突时,在master分支下使用git merge newbranch后会发生冲突提示(使用git status 可查看冲突文件),此时在冲突的文件下会显示冲突区域的不同代码,人为选择后删除不需要的代码再次提交 get commit -a -m  文件名即可完成合并,可通过git branch --merged查看合并后的分支。

发布版本(打标签)

进入想要打标签的分支

git tag v1.0------------------------------------为当前分支设定版本为1.0

git tag ----------------------------------------查看所有版本

git push origin v1.0-----------------------------将标签同步到远程仓库

创建组织(为组织创建仓库)

git入门教程,主要命令详解。

然后填写相应的组织名称(不可重复),email等,然然后为组织增加成员即可

创建博客

创建新仓库

****仓库名字为 github用户名或组织用户名.github.io

git入门教程,主要命令详解。

创建仓库后即可创建新文件

git入门教程,主要命令详解。

然后通过pomelott.github.io即可登录。

小技巧:

定义指令:git config --global alias.co commint ------------------------------用co代替commint命令,直接git co就可以

可用git config --list查看配置