-------------------20181217-------------------
git使用:在gitbash 下初始化用户:
$ git config --global user.name "yeteng" #设置用户名
$ git config --global user.email "1606896936@qq.com" #设置邮箱
$ git config --list #查看设置
git init #初始化仓库
git bash中可以在text中设置 UTF-8 但是cat文件夹还是会有乱码。可以这么解决:
cat yeteng_01.txt |iconv -f GBK -t UTF-8
git reset HEAD file;清空add命令向暂存区提交的关于file文件的修改(Ustage);这个命令仅改变暂存区,并不改变工作区,这意味着在无任何其他操作的情况下,工作区中的实际文件同该命令运行之前无任何改变
git checkout file;撤销对工作区修改;这个命令是以最新的存储时间节点(add和commit)为参照,覆盖工作区对应文件file;这个命令改变的是工作区
git log 查看版本号,--hard 暂存区和工作区都回退到指定版本号
git reset --hard bb5cb110a27251a3afa87ebab4caed00c0239b43
生成与github连接的秘钥
ssh-keygen -t rsa -C "1606896936@qq.com"
cd ~
cd .ssh/
cat id_rsa.pub
测试是否连接上
ssh -T git@github.com
本地仓库与远程建立连接
git remote add oragin https://github.com/AIF333/gitDemo1.git
##将本地仓库绑定到远程(第一次可能需要输入密码,后面就直接 git push 就行,同时如果是clone的则 也git push就行,因为已经绑定了)
git push -u oragin master
进入一个空目录,注意不能是仓库目录,即不能包含 .git 目录
git clone https://github.com/AIF333/gitDemo1.git
---------------------------------
标签
git tag 创建标签
git tag -d 标签 删除标签
git push oragin 标签 推送标签到远程仓库
-----------------------------------
分支
git branch 查看分支
git branch dev 添加分支 dev
git checkout dev 切换到分支dev 这两个等价于 《git checkout -b dev 》
git branch -d dev 删除分支
在独立分支做的修改需要 commit后才真正独立,否则master会看到
在master分支执行
git merge dev 实现分支合并
将Dev推送到远端分支:
git checkout dev
git push origin HEAD:dev
创建ignore文件
在项目的根目录下 新建文件 .gitignore
lenovo@lenovo-PC MINGW64 /e/Lern/python/django/pro/cnblog (test)
$ cat .gitignore
/.idea/*xml
*.xml
如果ignore文件不起作用,解决方法:
新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中,就算是在.gitignore中已经声明了忽略路径也是不起作用的,这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了。git清除本地缓存命令如下:
1
2
3
|
git rm -r --cached . git add . git commit -m 'update .gitignore' |
--------------------------------
克隆远程分支
lenovo@lenovo-PC MINGW64 /e/Lern/python/django/pro/testblog
$ git clone -b dev https://github.com/AIF333/cnblog.git
-b 指定远程分支,如果不加默认master分支