之前的版本控制一直用的SVN,最近做小程序才接触了GIT。git的命令比较多,整理了一下常用到的。
git branch -a 查看所有分支
git push origin --delete Chapater6 可以删除远程分支Chapater6
git branch -d Chapater8 可以删除本地分支(在主分支中)
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard
commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
git checkout -- file 丢弃工作区的修改
git reset HEAD <file> 可以把暂存区的修改撤销掉(unstage)
1.配置用户名及邮箱
三个级别的保存位置,--system、--global、--local,分别表示所有用户(本系统)、当前用户(全局)、本
地配置(当前目录),默认使用--local
git config --global user.name "XXX"
git config --global user.email zyvj@qq.com
2.代码提交流程
git status 查看本地文件修改 (本地修改的文件 modified)
git diff 查看文件修改了什么
git add XXX || git add . 添加文件到暂存区 (staged)
git commit -m ' XXXX' || git commit -am 'XXX'(git add) 提交到本地仓库 (commited)
git pull || git pull --rebase && git add && git rebase --continue 从远程获取最新版本并合并到本地
(git commit -m "add readme") (直接提交当前目录下的所有修改git commit -am)
git push [remote_name] [branch_name] 推送代码到远程库
3.其它
git stash pop 弹出stash状态
git stash apply 功能与git stash pop 大致一致,不会将储藏从储藏列表中删除
git stash list 查看保存内容列表
git stash show stash@{X} 查看修改的内容
git stash drop stash@{1} 丢掉stash@{1}
git stash clear 删除所有贮藏
git rebase --abort 会回到rebase操作之前的状态,之前的提交的不会丢弃
git rebase --skip 则会将引起冲突的commits丢弃掉
git stash save
git rm 会把文件从当前目录删除(不会保存删除的文件)
git log (git log --oneline) (git log --pretty=oneline) 查看当前工程(远程和本地)查看
git reflog 查看本机操作
git reset commitid 回退到提交状态
git reset --hard 回退到commit并把以前的提交清除
git remote 查看当前的远程库
git remote -v 显示对应的克隆地址
git branch可显示当前所有分支
git rebase --abort 终止rebase的行动,并且分支会回到rebase开始前的状态
git rebase --skip 会将引起冲突的commits丢弃掉(慎用!!)
git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销
git checkout . 放弃对当前文件夹的所有文件的修改
4.零碎
git pull的默认行为是git fetch + git merge
git pull --rebase则是git fetch + git rebase.
dir 查看远程库包含的文件
git rm -r --cached XXX 删除XXX文件