Git 常用命令总结
🐡 配置
- 查看:git config --list
- 修改:git config --global user.name '' git config --global user.email ''
🐯 新建
- 在当前目录新建(初始化)一个 Git 代码库:git init。当前目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的。
- 新建一个目录,将其初始化为 Git 代码库:git init [project-name]
- 克隆(下载)一个项目:git clone [url]
😼 Git三个工作区域
- 工作区:添加、编辑、修改文件等动作
- 暂存区:暂存已经修改的文件最后统一提交到git仓库中
- Git仓库:最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见
🗽 基本流程
- 克隆github上的仓库:git clone repository_path,会在当前目录创建一个与github仓库名相同的的文件夹
- 在工作目录修改和创建:如 touch new_file vi new_file or 在工作目录删除:rm -rf new_file
- 添加到暂存区:git add new_file or 删除暂存区文件:git rm new_file
- 上传到Git仓库:git commit -m 'add(modify) a file' or git commit -m 'delete a file'
- 查看git状态:git status
- 本地仓库同步到远程(github)仓库:git push
🏀 git push
- git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,
第一个master是本地分支名,第二个master是远程分支名。
- 如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名)
- 如果当前分支只有一个远程分支,那么主机名都可以省略,用 git push 即可
👽 git pull
- git pull命令的作用是:取回远程主机某个分支的更新,再与本地的指定分支合并
🎂 添加远程库
- 直接 clone github远程仓库
- 关联已有的本地仓库到github远程仓库上:
- git remote add origin 地址
- git pull origin master --allow-unrelated-histories(如果不要保留远程仓库上的文件:git push origin master -f)
- git push origin master
🤔 others
- 查看文件修改内容:git diff file_name
- 查看提交的历史纪录:git log
- 回退到上一个版本:git reset --hard HEAD^(回退到上上个就是^^, 退到指定版本就把HEAD^替换成相应版本号)
- 获取历史版本号:git reflog
- 撤销:git checkout -- file_name 可以丢弃工作区的修改
- linux command: vi
- 使用vi进入文本后,按i开始编辑文本
- ESC键退出编辑
- :q! 不保存文件,强制退出vi
- :w 保存文件,不退出vi
- :wq 保存文件,退出vi
- 当git clone时是以http或https的形式时,每次git pull和git push都要输入用户名密码,解决办法:
git config --global credential.helper store
,然后再操作一次即可保存你的用户名密码. 这是对ubuntu而言,windows上会自动保存. 如果是git clone是ssh的形式,创建秘钥就行