第一 快速入门

• 不要把仓库建在中文目录下
• .git是个隐藏目录(每一次代码修改都会帮我们记录)

全局设置git用户名

1
$ git config --global user.name dxing1202

全局设置git用户邮箱

1
$ git config --global user.email` dxing1202@outlook.com

改变盘符
$ C:

改变当前目录 cd 改变目录

1
$ cd C:/wamp/www/Git/

创建文件夹 创建一个新的子目录 mkdir 创建子目录

1
$ mkdir rrdai 

进入当前路径的rrdai目录

1
$ cd rrdai

返回上一级目录

1
$ cd ../

显示当前路径文件列表

1
$ ls

创建一个仓库 init=初始化

1
$ git init

查看git仓库状态 提示有未提交(未纳入管理)的文件
查看是git暂存区的状态

1
$ git status

添加到git里面去,add index.txt(可以不用加后缀名)只能单一
add . 当前目前全部添加 add *.c 以.c结尾的
提交到暂存区

1
2
3
$ git add index.txt
$ git add <file> <file2>
$ git add .

添加完成后重新查看状态 查看git状态 提示有刚/新提交的文件

1
$ git status

查看git注释 查看有几个文件改变,几个文件添加
提交到版本库 commit=提交 ‘ init ‘ 引号里面的是注释做日志记录的

1
2
$ git commit -m "init"
$ git commit <file> -m <注释>

查看git状态 提示没有可提交的文件

1
$ git status

修改文件后 再查看状态 /有提示 不进行提交的更改

1
$ git status

再次添加 到 暂存区 更改后的文件

1
$ git add index.txt

再次提交到 版本库 引号里面的注释 modify=更改

1
$ git commit -m 'modify'

查看git状态 提示没有可提交的文件

1
$ git status

重新再创建一个read.txt文件然后添加暂存区提交到版本库 删除文件
rm 删除文件

1
$ git rm read.txt

mv 移动文件 /改名 git mv

1
$ git mv config.php ./inc/config.php

mv 改名/移动 git mv

1
$ git mv config.php config.inc.php

查看git状态 提示 有已删除文件

1
$ git status

提交到版本库 暂存区已空 引号注释记录删除read文件

1
$ git commit -m 'del read.txt'

查看git状态 提示 已空

1
$ git status

第二 推送远程仓库

• 国外: https://github.com/ githun
• 国内: https://gitee.com/  码云

push=推送
这条有问题 ,因为origin是别名的意思 。 一开始没有设置这个别名的地址
下面的origin都可以换其他的名字。 只要定义好地址,所以可以修改成直接git地址
起别名的好处在于下次不用重复打地址名,只要别名就好了 master=主要的(分支)
起别名后保存在config文件里,但更换其他git远程仓库就要先把以前的删/改了

1
2
$ git push origin master
$ git push https://gitee.com/dxing122/lianshou.git master`

[url] 当前默认远端分支发送到远程仓库 (试验无法使用)

1
$ git push https://gitee.com/dxing122/lianshou.git

git添加远程仓库地址 (此方法能用)[url]这个是地址git

1
$ git remote add origin https://gitee.com/dxing122/lianshou.git

git修改远程仓库地址 也可以去修改git文件里面的config文件

1
$ git remote origin set-url [url]

删除远程 origin 仓库

1
$ git remote rm origin

git删除远程仓库地址 可以先删后加 remote=远程 origin=起源

1
$ git remote add origin [url]

git发送本目录到远程仓库

1
$ git push -u origin master

git把本地的版本(默认是master)推到origin的远程库

1
$ git push origin master

git查看远程仓库地址

1
2
$ git remote -v
$ git remote --v

推送 -u 见解
-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push

第三 团队合作

可以在码云项目管理里面添加项目成员, 管理员/开发者

更改好目录

1
$ cd e:/smallxin1202

克隆到本地

1
$ git clone https://gitee.com/dxing122/lianshou.git

只克隆最新的版本 最后面的是目录别名(默认拿git最后一个目录名)

1
$ git clone  --depth=1 https://gitee.com/dxing122/lianshou.git think_git

查看下状态是怎样的 /看到还不是 主要的分支 应该进去主目录

1
$ git status

进去git主目录

1
$ cd lianshou

添加个config文件后 ,在查看git状态

1
$ git status`   /提示有刚修改后未提交的文件

提交到暂存区

1
$ git add .

提交到版本库

1
$ git commit -m '生成配置文件'

推送到远程仓库 origin 已定义好,如未定义可直接orinin换成git地址即可

1
$ git push origin master

更新本地的仓库至最新 origin别名(git地址)

1
$ git pull origin master

第四 Git历史

Git分布式特点
看视频去吧 。说废话 。吹BB

Git历史
讲解一段Linus如何创建了Git
Linux之父Linus Torvalds于1991年创建了Linux开源项目
Linux内核
Stall man GNU,GNU is not Unix

Git分支的概念
说了一推没啥用 。
总结:分支很重要,主目录不要动,分支就复制一份

第五 分支管理

查看分支 branch=分支

1
$ git branch

创建一个分支 wechat分支 (未实验:在哪个分支下创建就克隆哪个分支)

1
$ git branch  wechat

切换分支 切换到 wechat 分支

1
$ git checkout wechat

查看下状态 刚修改了config文件里面的资料 (可以在状态里看到自己在哪个分支)

1
$ git status

提交到暂存区

1
$ git add .

提交到版本库

1
$ git commit -m 'wechat todo'

切换到master主分支 查看config可以看到回到起点,没有被修改过

1
$ git checkout master

又创建一个新分支ali然后添加一个fixbugforali.txt 做案例
$ 切换到新分支提交到暂存区,版本库 ,然后切换主分支master

合拼 在主分支下合并其他分支

1
$ git merge ali
  • 合并后无需再次上传到版本库,因已自动同步于版本库

删除分支

1
$ git branch -d ali

删除远程分支

  • :dev 加:就是删除的意思,dev 为分支名
    1
    $ git push origin :dev

创建wechat分支并立即切换到wechat分支

1
$ git checkout -b wechat

第六 日志查看与版本切换

查看项目的日志(到指定的目录使用)

1
$ git log

查看指定文件的日志

1
$ git log config.txt

查看本目录下的全部文件日志

1
$ git log .

查询日志单行显示,只有版本号+日志(应该是查看项目)

1
$ git log --pretty=oneline
  • 查看完日志后会出现输入光标,这里可以按Q退出

版本切换 显示出来的最新从上到下 ^代表回退第几个版本

1
$ git reset --hard HEAD^^^^^`  /前5版本

切换为前100版本 hard=强硬

1
$ git reset --hard HEAD~100

可以利用版本号来切换 注意:可以不用写那么长,保证没跟其他的重复就行
实验最少要4个字符以上

1
2
$ git reset --hard 6207e59
$ git reset --hard 6207

引用日志(就是切换过的日志,也可以查看切换前的所有版本)

1
$ git reflog

第七 额外的操作

config 配置指令

1
$ git config

查看系统config

1
$ git config --system --list

查看当前用户(global)配置

1
$ git config --global --list

查看当前仓库配置信息

1
$ git config --local --list

清空一下终端命令行

1
$ clear

更新git最新版本
2.17.1之前

1
$ git update

2.17.1之后 windows更新

1
git update-git-for-windows

避免每次 git pull 输入密码

1
$ git config --global credential.helper store
  • 执行一次。再进入git pull后就不用密码了

设置代理

全局设置代理

  • HTTP代理
    • git config --global http.proxy http://127.0.0.1:10809
    • git config --global https.proxy https://127.0.0.1:10809
  • SOCKS5代理
    • git config --global http.proxy socks5://127.0.0.1:10808
  • 取消代理
    • git config --global --unset http.proxy
    • git config --global --unset https.proxy
  • 根据实际VPN的端口来设置
  • 全局–global 单独项目不用加–global