💯努力构建Git的完整图景
命令行指令
git fetch origin #远程有新分支,使用这句话才能让接到新分支,因为本地没有同步到远程信息
删除分支
git branch -d <分支名>
git push origin :<分支名>
撤销
# 撤销add
git reset HEAD #撤销所有add
git reset HEAD xxx.x #撤销xxx.x文件
# 撤销commit
git reset --soft HEAD^
察看
察看
git status #查看仓库状态
git log #查看历史记录
git diff XX #查看XX文件修改了那些内容
git reflog #查看历史记录的版本号id
git remote show origin #查看各分支情况
git remote -v #查看远程git地址
添加、修改、退回、提交
git add XX #把xx文件添加到暂存区去。
git checkout . #返回本地所有没有提交的内容
git checkout – XX #把XX文件在工作区的修改全部撤销。
git commit –m “XX” #提交文件 –m 后面的是注释。
git reset –-hard HEAD^ #回退到上一个版本
git reset –-hard HEAD~ #回退到上一个版本
git reset –-hard HEAD~100 #退到上100个版本
git rm XX #删除XX文件
git remote rm origin #删除与远程已有的链接
git clean -df #对于新增的内容用此方法 ##完全删除##
克隆分支
git clone -b `分支名` `<远程地址>`
添加远程仓库
git remote add <shortname> <url>
git remote add origin `https://...exp.git` #关联一个远程库到origin
git pull <远程分支>:<本地分支>
git fetch <remote_name> <branch_name>
推送PUSH
#git push <远程主机名> <本地分支名>:<远程分支名>
git push origin zombie1.0:zombie1.0
git push origin master
注意 这里的:
前后是必须没有空格的
添加追踪
如果没有添加追踪我们每次提交都需要按上边的格式输入,这样效率大大的降低了,为了让我们以后能少敲代码,我们需要按以下做:
-
当前分支推送到origin主机的对应分支
git push origin
-
在第一次push的时候添加-u选项
git push -u origin <远程分支名>
- $
git push -u origin master
等于
git push --set-upstream origin <远程分支名>
- $
-
只有一个追踪分支,可省略主机名
git push
追踪关系
- 建立本地仓test 并建立追踪关系,如果建立了本地仓也建立了追踪会修改追踪关系( 建议使用)
git branch --set-upstream test origin/master
- 建立test仓库 并建立追踪关系
git branch --track test origin/develop
- 修改追踪关系 切换到test
git checkout test
- 修改追踪仓库(一定要先切换)
git branch --set-upstream-to origin/master
删除远程分支
#git push origin :<远程分支名> // 提交空到远程分支
git push origin :dev-1.0.0
#git push origin --delete <远程分支名>
git push origin --delete dev-1.0.0
分支
注意: git clone
命令只会拉到master
分支,如果要切换到其他分支则要使用git checkout -b
[本地] [远程]
git branch <分支名> #新建分支
#切换分支
git checkout <分支名> #切换分支
#从当前分支创建新的分支并切换
git checkout -b <分支名> #新建+切换分支
#拉取别人的分支到本地
git checkout -b <本地分支名> <远程分支名>#新建+切换+从远程拉取分支
git checkout –b dev origin/dev #举例
tip: 最好保持本地与远程名字一致,方便我们管理
git branch #查看当前所有的分支
git branch -d <分支名> #删除分支
git merge <分支名> #合并分支到当前分支
暂存
把当前工作状态保存下来,去处理其他分支的事,完成回来,接着工作。
要暂存的内容必须add
# 先把工作内容add
git add .
# 暂存
git stash #暂存起来,暂存区名称自动
git stash save "处理bug" #暂存起来,设置暂存区名称
git stash list #查看暂存区列表
git stash apply #恢复被隐藏的文件,但是内容不删除
git stash pop stash@{1} #恢复{1}的文件,删除暂存区
git stash drop #删除文件
git remote #查看远程库名称
git remote –v #查看远程库的地址
git remote show origin #远程库详细信息
git强制覆盖
git fetch --all
git reset --hard origin/master
git pull
git强制覆盖本地命令(单条执行)
git fetch --all && git reset --hard origin/master && git pull
评论