准备
确定上传的人:global即Git中的数据,不加global即设置当前仓库
git config --global user.name “ * ”
git config --global user.email “ * ”
转到本地仓库: cd <path>
查看当前路径: pwd
创建本地仓库: git init
查看被隐藏的.git目录:ls –ah
在本地仓库上操作
上传:
工作区-> stage : git add <file>
stage-> HEAD : git commit –m“message”
查看:
git status:查看工作区状态
git diff:查看修改
git diff HEAD HEAD^ --name-only:仅显示被修改的文件名
git log:查看提交历史
git log --pretty=oneline:简化版log,仅显示commit-id和message
git log --pretty=oneline --abbrev-commit :更简化commit_id
git reflog:查看命令历史,以便确定回到未来的版本
撤销修改:
git checkout --<file>:撤销工作区的修改(还没有add)
git reset:用版本库里的文件替换工作区的,达到撤销修改的效果
git reset HEAD <file>: 清空暂存区,配合checkout可撤销(add后未commit)
git reset --hard HEAD:回到上一个版本提交时(撤销已经commit)
git reset --hard commit_id:回到任意一个版本(用reflog查询id)
删除: git rm <file>
临时改bug:
git stash:保存工作区
git stash pop:恢复工作区
标签管理
给某一次commit添加标签
git tag <tagname>:给HEAD添加
git tag <tagname> commit_id
查看标签:
git tag :查看所有标签
git show <tagname>:查看标签的message
给标签添加信息:
git tag -a <tagname> -m "message"
在远程仓库上操作
被关联的远程仓库默认命名为orgin。一个本地仓库可以关联多个远程仓库
SSH设置(本地账号与远程账号一致):
ssh-keygen -t rsa -C "xxxxx@xxxxx.com":本地生成
cat ~/.ssh/id_rsa.pub:将屏幕打印内容粘贴到远程仓库
关联仓库(Github):
git remote add <orginname> <仓库SSH>
(git remote set-url origin <仓库的SSH>)
如果远程仓库有的修改本地没有的话,就需要先将远程仓库代码融合到本地,用
git pull --rebase orgin master
推送到远程:git push origin master
查看远程库信息:git remote (–v)
删除与远程库的关联:git remote rm origin
设置CRLF:git config --global core.autocrlf false
取消跟踪.gitignore文件中忽略,但是已经被跟踪的文件
git rm –cached <fileName>
想要取消跟踪文件夹下的所有文件
git rm –cached <fileName>/\* “\*” 代表所有文件
分支
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
当两个分支都有修改,则merge时通常会遇到conflict,这是需要先解决冲突,在add、commit,使用git log --graph可以看到分支合并图
配置别名-鼓励偷懒
git config --global alias.别名 正常名
Linux命令行
mkdir <file>:创建文件夹
cat <file> :打开/新建文件
rm <file> :删除文件
ls :查看当前目录下的文件列表