git branch
- git branch --set-upstream-to=origin/master master #将本地的master和远程的master连接起来;若origin没和远程地址关联,则需要将origin改为远程地址。
git remote
- git remote -v #查看当前仓库的远程仓库,-v表示显示远程仓库的url
- git remote origin set-url [url] #设置或更改当前仓库的远程仓库地址
- git remote rm origin #删除当前目录的远程仓库
- git remote add origin [url] #添加当前目录的远程仓库
- #另外还可以修改config文件来修改这些信息
git config
- git config user.name #查看用户名,后面加上字符串就是代表更改用户名,这个更改只在当前目录下作用
- git config user.email #查看用户邮箱,后面加字符串代表更改邮箱,这个更改只在当前目录下作用
- git config –-global credential.helper cache #记住仓库的用户名和密码十分钟
git config credential.helper ‘cache –timeout=3600’ #可设置时间记住仓库的用户名和密码 - git config --global credential.helper store #长期记住仓库的用户名和密码
git status
- git status -uno 不显示未管理的文件
git pull # 从仓库下拉工程
git push #上传日志到仓库
- git push tags #上传所有标签到仓库
- git push origion :标签名 #删除仓库某个标签,注意空格和冒号位置
- git push origion :branch #删除仓库某个分支,或git push origin --delete
- git branch -d #删除本地分支
git tag #显示本地所有标签
- git tag -n #显示本地所有标签的详细信息
- git tag -a 标签名 日志编号 #给指定日志添加标签
git show
- 显示某一标签的详细内容;tagname是指标签的名字,使用git tag可以显示在命令行。
git log #显示日志的改动日期
- git log --pretty=oneline #单行显示日志
git merge
- git merge branch #将分支branch合并到当前分支
git commit
- git commit -m “message” #提交新添加的文件,message是日志名称,其它已存在的文件改动不会提交
- git commit -a -m “message” #提交当前所有改动,包括新加的文件,都提交
git reset
- git reset code # code表示日志代码,回滚到某个commit日志,代码不回退
- git reset --hard code # code表示日志代码,回滚到某个commit的日志,连代码一起回退
git reset [-q] [<tree-ish>] [–] <pathspec>…
git reset [-q] [–pathspec-from-file=<file> [–pathspec-file-nul]] [<tree-ish>]
git reset (–patch | -p) [<tree-ish>] [–] [<pathspec>…]
git reset [–soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]
常用的格式是最后一个,简化版就是
git reset [<mode>] [<commit>]
[<mode>] 可以是[–soft | --mixed [-N] | --hard | --merge | --keep]其中之一
–mixed是默认参数,即没有写该参数时默认就是这个模式,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
–hard是指将工作区和暂存区都会到上一次版本。
–soft指只回退到某个版本,代码不改变。
[-q] 是指Be quiet, only report errors.也就是只打印错误,不显示其它信息;
[<commit>] 是指git日志的编码
git restore
- git restore … # 取消文件更改,回退到最新提交的日志
git checkout
1. 切换分支
- git checkout master # 切换到本地master分支
- git checkout -b develop remotes/origin/develop # 以远程分支develop为基础创建本地develop分支,并切换到develop分支
2. 撤销修改
情况一:git add/rm 之前
git checkout - - * //是撤销从上次提交之后所做的所有修改
git checkout - - filaname //是撤销从上次提交之后的单个文件的修改
情况二:
git reset HEAD //reset 某个文件
git reset HEAD . //reset 所有
2. 删除文件
常规的做法就是通过2条命令进行删除,先使用rm删除文件,再用git rm把删除的添加到暂存区
$ rm -rf readme.md
$ git rm readme.md