了解
GIT是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。[维基百科]
GIT安装
apt-get install git
配置相关
修改远程仓库地址 git remote set-url origin [url]
查看配置: git config --list
设置user: git config --global user.name "辣条拌鱼翅"
设置email: git config --global user.email "admin@gmail.com"
更多
文件删除与恢复
查看删除的文件: git ls-files --deleted
恢复删除的文件: git checkout -- file_name
more
移动或重命名文件: git mv -f oldfolder newfolder
git add -u newfolder
more
将本地文件推荐至远程库中
git add.
git commit -m '修改了XXX'
git push -u origin master
删除已经add文件
方法1: 不删除物理文件,仅将该文件从缓存中删除 git rm --cached "文件路径"
方法2: 不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶) git rm --f "文件路径"
TAG-标签
git tag //查看所有标签
git tag -a v1.0 -m 'first version' //创建标签
git tag -d v1.0 //删除标签
git push origin --tags //推送标签
git push origin :refs/tags/<标签名> 删除远程标签
git checkout <标签名> //切换到指定的标签名 tip:不能修复标签如果快照
git checkout -b branch_name tag_name //如果想修改标签则新建分支
git checkout master //切换回主分支
[更多]
忽略不提交
.gitigone通配符
- 以斜杠“/”开头表示目录;
- 以星号“*”通配多个字符;
- 以问号“?”通配单个字符
- 以方括号“[]”包含单个字符的匹配列表;
- 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;
.gitigone
*
!.gitignore
//除了.gitignore 其它所有文件及文件夹都不提交
提交文件夹忽略文件夹内所以的文件及文件夹
app/build/*
!app/build/.gitignore
分支
显示分支: git branch
ps 参数 -a 显示远程分支
在本地创建新的分支: git branch newbranch
切换到新的分支: git checkout newbranch
将新的分支推送到github: git push origin newbranch
在本地删除一个分支: git branch -d newbranch
在github远程端删除一个分支: (ps:分支名前的冒号代表删除 )git push origin :newbranch
查看最近3次提交: git log -n
查看版本: git reflog
退回上一个版本: git reset --hard HEAD^
退回指定版本: git reset --hard Obfafd
远程退回: git push -f
tip: 先本地退回版本后, 再强制推送. 更多
gitlab创建库后
Git global setup
git config --global user.name "username"
git config --global user.email "username@outlook.com"
Create a new repository
git clone ssh://git@192.168.1.10:2220/test/test.git
cd daily
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
Push an existing folder
cd existing_folder
git init
git remote add origin ssh://git@192.168.1.10:2220/test/test.git
git add .
git commit -m "Initial commit"
git push -u origin master
Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@192.168.1.10:2220/test/test.git
git push -u origin --all
git push -u origin --tags
问题记录
Q: warning: LF will be replaced by CRLF
A: git config --global core.autocrlf false
禁用自动替换换行符