git常用指令
which -a git:查看git所在的可执行路径
git --version:查看git版本
git config --global user.name clh:全局配置用户名
git config --global user.email aaa@qq.com:全局配置邮箱
git config help / man git-config:查看git文档帮助
git config --global --add user.name ccc:增加全局用户名ccc
git config [--get] user.name:查看用户名
git config --list --global:显示当前所有用户名和邮箱
git config --global --unset user.name ccc:删除ccc的用户名
git config --global alias.co checkout:给checkout取别名为co
git config --global alias.br branch:给branch取别名为br
git config --global alias.st status:给status取别名为st
git config --global alias.ci commit:给commit取别名为ci
git log:查看文件修改日志
git init [文件名]:初始化git仓库
git init --bare [文件名]:创建一个裸仓库,没有.git文件
git add [文件名]:把文件添加到git暂存区
git status:查看新添加的文件,或修改的文件
git commit -m 'init':提交新添加或修改的文件
git rm 文件名:删除暂存区和工作区的文件
git rm --cache a:删除暂存区的文件a
git mv a c:把a重命名为c
git add -A:把整个文件添加到暂存区
分支的创建与合并:
git branch test:创建新的test分支
git checkout test:切换到新的分支
git merge test:合并test分支
当出现冲突时路径末尾会出现这种情况:(*|MERGING),此时可以放弃此次合并
git merge --abort:放弃此次合并
如果想要解决冲突重新合并,就要编辑有冲突的文件,重新合并
输入:git add (已修改冲突的文件名):把修改好的有冲突的文件名添加到暂存区
然后直接输入:git commit就可以了
查看历史记录:
git show:
git show master^:查看当前分支上最新的提交
git show master^2:查看第二个提交(这个指令要多实战理解)
git log:
git log --oneline --decorate --graph -all:查看完整的历史示意图
git diff:输出工作区和暂存区的差异
git diff --cached:查看暂存区和历史区的差异
撤销修改:
git checkout:
git checkout -- 文件名:撤销文件在工作区的修改
git reset:
git reset 分支名 -- 文件名:将add到暂存区的内容还原回工作区
git clean:
git clean -n:显示一些需要移除的文件
git clean -f:强制删除一些无用的文件
git revert:
git revert HEAD:不需要之前添加的文件
github简介:
为github添加ssh key便于访问远程仓库
ssh-keygen -t rsa -C "邮箱":生成key(需要输入密码,不是github的帐号密码)
eval "$(ssh-agent -s)":保存用户输入的ssh密码
ssh-add ~/.ssh/id_rsa:(再次输入密码,key就保存起来了)
然后打开文件
vim ~/.ssh/id_rsa.pub
把文件中的所有内容复制下来,添加到github上的"ssh key"里
验证是否添加成功输入指令
ssh -T git@github.com
git远程协作的主要指令
git clone:获取远程仓库
支持的协议:1.ssh、2.git、3.http[s]、4.ftp[s]、5.rsync
git fetch:获取远程仓库的所有分支以及数据
git pull:为git fetch和git merge的组合操作
git push:用来把本地的数据推送到远程仓库中
删除本地分支:push branch -d 分支名
删除远程分支:1.git push --delete origin 分支名 2.git push origin (:分知名):表示以一个空的分支取代远程的分支