GitGit使用

Git 的使用

2019-04-26  本文已影响0人  尤樊容

原来的我对git的认识只停留在

git clone ...
git pull

git init 
git add .
git comiit -m 'XXX'
git push

只知道这几个是干嘛的,但是不知道具体是什么原理,自己的代码现在处于什么阶段自己也不清楚,在最近的项目配合当中,对git的使用又有了更深的认识,所以想要记录一下,欢迎指教。

在具体说之前我还想要补充一下Linux的一些命令,我对Linux不太清楚,就是用一点记一点:

ls  查看所有子目录
ls -alf  查看子目录和详细信息
cat test.txt  查看文件内容
:set nu  显示行号
tail -n 3 [文件名]  显示文件最后3行

英文状态下按q  退出git log

mac 终端常用命令和vim普通命令使用可以参考以下链接:https://blog.csdn.net/y2888886/article/details/50468198

vim 中按下ESC后输入:才能进入命令模式!
进入之后输入:
:wq 然后回车就可以了退出了

git的结构

image.png

git在本地是这样一个结构,图中标记的非常清晰,然后可以通过github新建对应项目和本地git项目建立连接,push到线上。

git的命令行操作

'git init'
初始化仓库,创建一个名为 .git 的子目录

'git clone [url]'
克隆现有的仓库,克隆了一个仓库,命令会自动将其添加为远程仓库并默认以 “origin” 为简写

'git clone  [url] [name]'
在克隆远程仓库的时候,自定义本地仓库的名字

'git status'
检查当前文件状态

'git add [Untracked files]'
添加跟踪文件,git status的时候如果有未跟踪的文件,可以使用此命令添加跟踪文件

'git add -u <==> git add –update '
提交所有被删除和修改的文件到数据暂存区

'git add . '
提交所有修改的和新建的数据暂存区

'git add -A <==>git add –all '
提交所有被删除、被替换、被修改和新增的文件到数据暂存区

.gitignore 忽略文件
文件 .gitignore 的格式规范如下:

所有空行或者以 # 开头的行都会被 Git 忽略。
可以使用标准的 glob 模式匹配。
匹配模式可以以(/)开头防止递归。
匹配模式可以以(/)结尾指定目录。
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

'git remote add <shortname> <url> '
添加一个新的远程 Git 仓库,同时指定一个你可以轻松引用的简写

'git remote -v'
显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL

'git remote show [remote-name] ==> git remote show origin'
查看远程仓库,会列出远程仓库的 URL 与跟踪分支的信息

'git remote rename ==> git remote rename pb paul'
修改一个远程仓库的简写名。 例如,想要将 pb 重命名为 paul

'git remote rm [remote-name] ==> git remote rm paul'
移除一个远程仓库
'git fetch [remote-name]  ==> git fetch origin'
git fetch 命令会将数据拉取到你的本地仓库 - 它并不会自动合并或修改你当前的工作。 
当准备好时你必须手动将其合并入你的工作。

'git push [remote-name] [branch-name] ==> git push origin master'
只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。
当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。
你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。
`git diff` 
要查看尚未暂存的文件更新了哪些部分

 `git diff --staged 或者 git diff --cached`
查看已暂存的将要添加到下次提交里的内容的差异,
查看已经暂存起来的变化:(--staged 和 --cached 是同义词)
'git log'
查看提交历史,会按提交时间列出所有的更新

'git log -p'
显示每次提交的内容差异

'git log -p -2'
显示最近两次提交的内容差异

'git log --stat'
每次提交的简略的统计信息
--stat 选项在每次提交的下面列出所有被修改过的文件、有多少文件被修改了
以及被修改过的文件的哪些行被移除或是添加了。
在每次提交的最后还有一个总结。

'git log --pretty=oneline' (常用)
指定使用不同于默认格式的方式展示提交历史
oneline 将每个提交放在一行显示,查看的提交数很大时非常有用。 
另外还有 short,full 和 fuller 可以用,展示的信息或多或少有些不同

'git log --pretty=format:"%h - %an, %ar : %s"'
format,可以定制要显示的记录格式

'git log --pretty=format:"%h %s" --graph'
当 oneline 或 format 与另一个 log 选项 --graph 结合使用时尤其有用。
这个选项添加了一些ASCII字符串来形象地展示你的分支、合并历史
format还有很多用法,有需要的话可以去详细了解一下

'git log --all --decorate --graph' 
查看合并详情

更多相关资料:
https://git-scm.com/book/zh/v2

上一篇下一篇

猜你喜欢

热点阅读