https://www.cnblogs.com/lifexy/p/8353040.html
git
git config --global user.name 'jiangfeng.zhang'
git config --global user.email 'retries@126.com'
git config --global --list
Git 警告 LF will be replaced by CRLF
rm -rf .git // 删除.git
git config --global core.autocrlf false //禁用自动转换
git init
git add .
//查看配置信息
https://blog.csdn.net/qwaszx523/article/details/79072276
//git push出错原因
https://www.cnblogs.com/lilyxue/p/5655155.html
提交
untracked : 未跟踪状态
tracked : 已跟踪状态
https://segmentfault.com/q/1010000005900988
https://baijiahao.baidu.com/s?id=1563515863527000&wfr=spider&for=pc
git commit -a -m “massage”
其他功能如-m参数,加的-a参数可以将所有已跟踪文件
,注意已经跟踪文件
中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,注意,
新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。建议一般不要使用-a参数,正常的提交还是使用git add先将要改动的文件添加到暂存区,再用git commit 提交到本地版本库。
//git commit多行提交,使用单引号进行多行扩展。
git commit -m‘
message1
message2
message3
’
多行提价时不要写数字在github上很难看,以后建议写成
--message1--
--message2--
--message3--
版本管理
版本提交记录查看
一 、git log命令可以显示所有提交过的版本信息。显示信息如下:
$ git log
commit e1bdff6e4830e09383078c860f45334d03771b03 (HEAD -> master)
Author: lyf1995 <506833107@qq.com>
Date: Sat Dec 16 11:47:59 2017 +0800
第二次提交
commit 62e67397d7891610ed7db7edab0e10619d9d8f0e
Author: lyf1995 <506833107@qq.com>
Date: Sat Dec 16 11:06:10 2017 +0800
第一次提交
如果觉得信息显示太繁琐 可以加上参数 --pretty=oneline[只会留下commit id (版本号 (用SHA1字串表示))和 提交版本时的描
述信息] 显示效果如下:
$ git log --pretty=oneline
e1bdff6e4830e09383078c860f45334d03771b03 (HEAD -> master) 第二次提交
62e67397d7891610ed7db7edab0e10619d9d8f0e 第一次提交
二 、git reflog如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录。
$ git reflog
e1bdff6 (HEAD -> master) HEAD@{0}: commit: 第二次提交
62e6739 HEAD@{1}: reset: moving to HEAD^
8113f0d HEAD@{2}: reset: moving to HEAD^
dc6bb4e HEAD@{3}: reset: moving to dc6bb4e
8113f0d HEAD@{4}: reset: moving to HEAD^
dc6bb4e HEAD@{5}: commit: my.txt增加44444内容
8113f0d HEAD@{6}: commit: 文件增加33333内容
62e6739 HEAD@{7}: commit (initial): 第一次提交
总结:
git reset –hard 指令由最新的版本V1回退到V0时:
git log :将不会保留新版本V1的commit记录,所以想再次回退到V1,借助git log 获取commit id时不能够的。
git reflog: 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,所以想再次回退到V1,借助git relog 获取commit id
版本滚动
//方法一:以提交的第N次进行版本回退
git reset –hard HEAD^ //那么如果要回退到上上个版本只需把 HEAD^ 改成 HEAD^^ 以此类推。
git reset –hard HEAD~100 //回退到前 100 个版本。
//方法二:以提交的ID进行版本回退
// commit_id 只需要直到前面几位,具体需要几位,推荐5位以上。
git reset –hard commit_id (建议使用)
Check out
1、全部撤销工作区的修改,这里有两种情况:
git checkout -- readme.txt
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;(上一次的git commit 后,修改readme.txt 但没有执行git add,回到上一次的git commit后的结果)
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。(修改readme.txt,并且git add,然后又修改了readme.txt, 此时执行git checkout,回到git add 后的状态)
总之,就是让这个文件回到最近一次git commit或git add时的状态。
2、Check out 指令对分支的管理
git branch branchName //创建新分支
git checkout branchName //切换到新分支
git checkout -b branchName //上面两条指令用这一条替代
git branch //查看当前分支情况
//概览修改了哪些文件
git show 提交的哈希值 --stat
git show HEAD --stat
文件删除
远程仓库
https://git-scm.com/book/zh/v2/Git-基础-远程仓库的使用
远程仓库服务器是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展.管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分 支,定义是否跟踪这些分支,等等.本节我们将详细讨论远程库的管理和使用.
添加远程仓库
在本地仓库添加一个远程仓库,然后将本地仓库的内容push到远程仓库。
怎么理解这个东西?
本地仓库即就是本地的git仓库
本地仓库添加一个远程仓库:
目前理解,本地仓库注入远程仓库的仓库服务器的名称(origin)、地址信息(ssh)、仓库名(ticgit)。
那么就有个问题,既然注入的信息是真实的远程仓库,那么你的真实的远程仓库肯定是与该注册的信息信息真实对应的。
$ git remote add pb https://github.com/paulboone/ticgit
$ git remote -v
pb https://github.com/paulboone/ticgit (fetch)
pb https://github.com/paulboone/ticgit (push)
//现在你可以在命令行中使用字符串 pb 来代替整个 URL。 例如,如果你想把本地仓库push到远程仓库
git push pb master
查看远程仓库
//如果想查看你已经配置的远程仓库服务器,可以运行 git remote 命令。 它会列出你指定的每一个远程服务器的简写。 如果你已经克隆了自己的仓库,那么至少应该能看到 origin - 这是 Git 给你克隆的仓库服务器的默认名字:
$ git clone https://github.com/schacon/ticgit
$ cd ticgit
$ git remote
origin
//你也可以指定选项 -v,会显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL。
$ git remote -v
origin https://github.com/schacon/ticgit (fetch)
origin https://github.com/schacon/ticgit (push)
分支管理
标签
其它
1、提交文件夹
2、比较不同
3、生成补丁
采用git ls-files命令,来看看这个命令的帮助信息:
要查看删除的文件: git ls-files --deleted
使用命令checkout来恢复:git checkout -- file_name
git常用指令总结
https://blog.csdn.net/where_slr/article/details/80937337
https://www.cnblogs.com/lwzz/archive/2013/02/23/2921426.html
https://www.cnblogs.com/libin-1/p/5918468.html
https://blog.csdn.net/q844258542/article/details/52237906
https://www.cnblogs.com/zhangqie/p/7460689.html、
远程分支与本地分支比较
https://www.linuxidc.com/Linux/2019-08/159850.htm //分支的查询
https://blog.csdn.net/meng19910117/article/details/84402456
https://zhidao.baidu.com/question/746317462730453332.html
//远程拉取最新版本到本地
https://www.cnblogs.com/qiu-Ann/p/7902855.html