最近一直对git 小研究一下,发现还是有挺多之前不懂的得到了解答,同时也有很多未知还要探索
1,git 的常用命令
这个很简单, 在命令行中写上 git help 就能看到
usage: git [--version] [--help] [-C <path>] [-c name=value]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
The most commonly used git commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
clone Clone a repository into a new directory
commit Record changes to the repository
diff Show changes between commits, commit and working tree, etc
fetch Download objects and refs from another repository
grep Print lines matching a pattern
init Create an empty Git repository or reinitialize an existing one
log Show commit logs
merge Join two or more development histories together
mv Move or rename a file, a directory, or a symlink
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
rebase Forward-port local commits to the updated upstream head
reset Reset current HEAD to the specified state
rm Remove files from the working tree and from the index
show Show various types of objects
status Show the working tree status
tag Create, list, delete or verify a tag object signed with GPG
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
有几个命令还是值得慢慢实践来体会的
2 git 的状态
在git 中只有3中状态 1 已提交,2 已修改 3 已暂存
git 基本流程
1 在本地修改了文件
2 对修改的文件进行快照 -----》 保存到暂存区域
3 提交更新 将暂存的文件
这个是基本的git 管理流程,不能再基本了。
3 基本的提交
git add
git commit
git pull
git push
这个是我提交代码的时候用的,当然 add -a 全部文件, add - 具体文件名称
commit -m""写下说明什么的,
pull --rebase , 衍合一下 push 就基本不加什么东西了. 可是最近研究发现,这些基本的,不够
那如何了解更多的???
好奇心害死人,
在本地的是
Paste_Image.png
git status 检查当前的状态
通过add add 将文件放入暂存区
4 忽略文件
一般不想纳入git 管理的,可是每次动不动还要你提交它,比较闹心啊
建立 .gitignore 列出你不想要git 管理的文件
cat .gitignore
比如 忽略以 xx结尾的文件, *.xx
gitignore 也有自己的命名规范,这一个个规范我也是醉了,为啥没有统一的呢
表示注释
最后以/结尾 表示忽略这个文件夹
可以使用glob 模式, 这个模式还是baidu 吧
5 git diff
查看尚未暂存的文件 ---更新什么呢
git diff
查看已经暂存的文件和上次提交的快照 --快照 的之间差异
git diff --cached
6 git commit
所谓的暂存起来
这里感觉就一个地方 git commit -a - m ''''
不用写git add 了
7 git rm //git mv
这个还没有研究
8 git log
这个几个常用的 花样
git log 简单粗暴
git log -p -2 //显示最近2次你提交的内容差异
单词层面的对比 git log -U1 --word-diff
摘要行输统计的对比 git log --state
针对信息格式的不同 git log --pretty= oneline / short /full /fuller
还有特别格式的。。。。。。
9 git commit --amend
就是犯懒 ,不想再写git add 如果有文件小改一下,可是刚刚提交了,而且还是对上个一个的补充,就没有必要写commit 的信息了,因为和上个的提交信息是一样的
10 git reset HEAD + 文件名
取消了对文件的暂存
如何还没有缓存 ,就是手贱 不想要刚改动的东西了
用 git status
On branch develop
Your branch and 'origin/develop' have diverged,
and have 1 and 1 different commit each, respectively.
(use "git pull" to merge the remote branch into yours)
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
提示你了。哈哈。还是挺智能的啊
11 远程的仓库 查看
git remote -v
git remote add [shortname] [url] 这个shortname git fetch 会用到
比如: git remote add haha git://********* (url)
git remote show [remote-name] 远程仓库的信息
git remote rename haho tohehe //改名
git remote rm tohehe //删除分之
12 git fetch [remote-name]
这个命令和git pull 经常搞混
其实很容易分辨出来
fetch 仅仅负责---把远端的代码拉取到本地 --不会合并到当前的分支
pull 两个都干了
13 git push [remote-name] [branch-name]
推送到远端
14 git tag
这个是标签列表
git tag -l 'v1.*' 模糊查询
标签新建 1 lightweight 2 annotated
就是一个有简要信息一个没有
git tag -a name -m'信息'
git show 查看标签的版本信息, 打标签时候提交的对象
git tag 可以有后悔药,在已经提交的代码中间打tag
git tag -a name 提交对象的校验和
git push origin [tagname] 提交标签 仓库名字不要忘记了
git 的最强大分支还没有来得及研究本质,后续再写一个关于分支的,git的基本技能才能基本ok
网友评论