git操作与简介

1,.git目录与git命令

1)使用git init命令,将会在当前目录创建一个.git目录,包含了所有git正常工作所需要的信息。

image.png

2)工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。
初次克隆某个仓库时,工作目录中的所有文件都属于已跟踪文件,且状态为未修改。
3)编辑过文件之后-->modified-->git add变为暂存状态
image.png

image.png

4)git status检查文件的状态
git add 开始跟踪新文件
当修改已经git add暂存的状态,
image.png

5)git diff 查看尚未暂存的文件更新了哪些部分
git diff --cached 查看已缓存的文件更新了哪些部分
image.png

6)提交暂存区里面的更新
image.png

请一定要确认还有什么修改过的或新建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。
7)git log 会按提交时间列出所有的更新
image.png

8)git fetch命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,需要你自己手工合并。
9)命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销。(如果已经git add到暂存区,则无法撤销,这时候需要使用git reset HEAD ${file}命令)
10)git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区。(如果已经git commit到版本库,则只能使用版本回退)
11)commit在git中被称为快照,当git commit -m "xx"执行之后就生成。
git log命令显示从最近到最远的提交日志
image.png

每提交一个新版本,实际上git就会把他们串成一条时间线。
image.png

12)版本回退。git reset --hard ${commit_id}
用HEAD(等效于当前版本的commit_id快照id)表示当前版本,上一个版本就是HEAD,上上一个版本就是HEAD^。
image.png

13)撤消总结。
image.png

14)例子
image.png

image.png

2,git fetch

1)git fetch [origin] 将某个远程主机的更新,全部取回本地
这时候git branch 查看本地分支是没有更新的。只有 remote/origin/xxx(取回的origin分支名)
2)git checkout PT-1156-new-gift checkout之后,才会将本地分支与origin分支关联。
Branch PT-1156-new-gift set up to track remote branch PT-1156-new-gift from origin.
Switched to a new branch 'PT-1156-new-gift'
3)所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取。git branch -a(所有) (-r远程)
4)可以先取回远程分支的更新,再git merge origin/master 到本地master分支。相当于 git pull origin master = git fetch origin master + git merge origin master

3,细节

1)正是环境部署前,最好git tag -a "tagname" -m "注释"打一个tag,或者保存一份war文件。
2)git rev-parse
git rev-parse --git-dir 查看.git目录所在的位置
git rev-parse --show-toplevel 显示工作区根目录位置
指明一次提交的最直接的方法要求有一个指向它的分支引用。
git rev-parse 分支名 查看SHA引用, 某个分支指向哪个特定的 SHA

image.png

3)git show commitId = git show 分支名
git show 8825311f72da1f4eaae3fd541eada84c3d45e674
git show branchName

4,分支操作

1)删除本地分支 git branch -d <分支名>
强制删除本地分支 git branch -D <分支名>
删除远程分支git push origin --delete <分支名>
2)复制文件到另一个分支

image.png

5,关联github

image.png

你可能感兴趣的:(git操作与简介)