Git配置和命令

创建Git仓库

  • cd到需要git管理的文件夹
git init 

Git目录结构

hooks:目录包含客户端或服务端的钩子脚本;

info:包含一个全局性排除文件

logs:保存日志信息

objects:目录存储所有数据内容;

refs:目录存储指向数据(分支)的提交对象的指针

config:文件包含项目特有的配置选项

description:用来显示对仓库的描述信息

HEAD:文件指示目前被检出的分支

index:文件保存哲存区信息

查看Git 全局设置

git config -- list

Git 全局有户名和邮箱的设置

git config --global user.name "填写你的有户名"
git config --global user.email "填写你的邮箱"

Git 当前仓库有户名和邮箱的设置

git config  user.name "填写你的有户名"
git config  user.email "填写你的邮箱"

或者

git config --local user.name "填写你的有户名"
git config --local user.email "填写你的邮箱"

Git别名的配置 aljas

// git status是用来查看文件修改的命令,可以使用git st来代替
 git config --global alias. st status

 //git pul是用来远程拉取仓库代码的命令,可以使用git pl来代替
 git config --global alias.pl pul1

// git ps是用来将本地修改推送至远程仓库的命令,可以使用git
  git config --global alias.ps push

查看Git的文件状态

git status ./

添加修改过的文件

git add ./   // 添加所有修改过的文件
git add  文件名   // 添加指定的修改过的文件

查看修改文件的位置和内容

git diff  //查看没有add 之前的文件

git diff --staged //查看没有add 之后的文件(即添加到暂存区)

提交修改过的的文件

git commit -m   "提交说明"

git commit -a -m  "提交说明" :先把已经跟踪过的文件添加到暂存区,让后提交。

查看Git的提交日志

git log

git log  --pretty=oneline // 一行一行的展示日志内容

或者
git log --oneline


未添加进暂存区的撤销

git checkout -- 文件名  //对单个文件进行撤销

git checkout -- .  //对全部修改过的文件进行撤销


回退已经添加到暂存区的某个文件

git reset HEAD :回退已经添加到暂存区的所有文件 
git reset HEAD filename :回退已经添加到暂存区的某个文件 

回退版本提交 git reset

git reset :是HEAD指针和分支一起移动,移动到指定的提交ID

 **HEAD指针指向的当前提交对象**
 **HEAD~指针指向的上一次提交对象**

git reset --soft 提交ID :只是HEAD指针和分支一起移动,工作去和暂存区没有改变

git reset  提交ID 或者 git reset --mixed  提交ID : 不仅 HEAD指针和分支一起移动,而且改变了暂存区,但没有改变工作区。

git reset --hard 提交ID  :(hard:强硬的) 不仅 HEAD指针和分支一起移动,而且改变了工作去和暂存区


创建分支

//在本地新建分支()

git branch newbranch

// 在指定的提交ID处,创建分支

git branch newbranch  提交ID

//把本地分支push到远程

git push origin newbranch

//在本地新建分并且切换的新的分支上

git checkout -b  newbranch

删除分支

git branch -d branchname   //删除本地分支

git branch -D branchname   //强制删除本地分支

git  push origin -d  branchname  //删除远程分支
 

切换分支


git checkout branchname

合并分支

  • git merge和git rebase都可以进行分支的合并
  • git merge合并后保留两个分支的记录
  • git rebase合并后会展示成一个分支的记录,另一个分支的提交实际生成了一个副本

主要:合并分支前,必须保证需要合并的分支是干净的。

//把新的分支合并到当前分支上

git merge newbranch

将远程git仓库里的指定分支拉取到本地(本地不存在的分支)

git checkout -b 本地分支名 origin/远程分支名

给Git仓库打版本

git tag - a  版本号  -m "说明信息"  

git push --tag //推送tag



我们还可以给指定的提交ID 添加tag

git tag - a  版本号   提交ID  -m "说明信息"  

远程抓取

git fetch  // fetch不会对本地仓库内容进行更新

git merge // 真正的更新本地仓库的内容

git pull =  git fetch +git merge

远程推送

git push origin branchname // 把本地文件推送到远程分支上

git push origin branchname -- force // 强制把本地文件推送到远程分支(force:强迫,武力)

git push --tag  //推送tag



远程仓库的操作(remote)

git remote add origin  项目仓库地址 //给本地仓库添加远程仓库关联(一个本地仓库可以添加多个远程仓库,但是最好一个本地仓库对应一个远程仓库)

git remote -v  // 查看本地仓库关联远程仓库

git remote remove  origin   // 删除本地仓库关联的远程仓库

创建新版本库

git clone   项目仓库地址
cd 项目文件夹
touch README.md //创建文件
git add README.md 
git commit -m "add README"
git push -u origin master

已存在的文件夹或 Git 仓库


cd existing_folder

git init

git remote add origin  项目仓库地址  

git remote -v  // 查看本地关联仓库
 
git add .
git commit
git push -u origin master
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容