git命令
仓库关联
仓库连接相关(引用自熊本同学)
git remote remove origin //移除远程仓库连接
git remote add origin <远程仓库地址>
git remote set-url origin <新的远程仓库地址> //直接设置远程连接
初次上传码云项目
第一次上传码云无法push问题,引用自学习中呢
新建xcode项目
在码云上新建项目
cd 项目文件内
git init
git remote add origin url
git pull origin master --allow-unrelated-histories
git add .
git commit -m 'push'
git push origin master
初次下载码云项目
cd 项目所在文件夹
git init
git clone url
cd 项目文件内
git remote add origin <远程仓库地址>
git pull origin master
git add .
git commit -m 'push'
git push origin master
分支管理
查看分支
git branch //查看分支-默认本地
git branch -a //查看本地及远程分支
git branch -vv //查看本地及远程分支关联情况
git branch -v //查看本地分支
git branch -r //查看远程分支
新建本地分支
如果远程没有该分支
git branch <分支名> //创建分支(不要带尖括号,下同)
git checkout <分支名> //切换到新建分支
git checkout -b <分支名> //从当前分支创建并切换到新建分支(上面两步的简写)
//直接 git push origin <分支名> 会新建一个远程分支
//这两种方法新建的本地分支未关联远程分支,需重新关联
如果远程已存在该分支
git checkout -b <分支名> <远程名>/<远程已存在分支名>
//基于远程分支新建本地分支 如 git checkout -b newBranch origin/newBranch
或
git checkout --track <远程名>/<远程已存在分支名>
//默认新建一个同名的本地分支 如 git checkout --track origin/newBranch
//这两种方法新建的本地分支已关联远程分支,无需重新关联
关联分支
git branch -vv //查看分支是否关联远程分支,如果是基于远程分支新建的本地分支,就是已关联状态
git branch -a查看远程分支
git branch -u remotes/<远程名>/<远程分支名>
//关联后可以直接拉取或提交代码,不需要加分支名
查看修改记录
git status //查看修改记录
放弃代码修改
放弃代码修改(引用自toyflivver)
1.未使用 git add 缓存代码时。
git checkout -- Test/Class/Me/Home/<文件名> //放弃某个文件修改
git checkout . //放弃所有修改
2.已经使用了 git add 缓存了代码。
git reset HEAD <文件名> //放弃某个文件修改,估计要加路径(同上)
git reset HEAD . //放弃所有修改
说明:此命令用来清除git对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(1)所示的状态。继续用(1)中的操作,就可以放弃本地的修改。
3.已经用 git commit 提交到本地。
git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。不删除工作空间改动代码,撤销commit,并且撤销git add .
git reset --soft HEAD^ //不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --hard HEAD^. //删除工作空间改动代码,撤销commit,撤销git add . 回退到上一次commit的状态
git reset --hard <提交commit ID> //如git reset --hard 5ac6a94d47d6f21f486ed0a784ed7982f1f2b5d2
//会退到某一次commit, git log 查看
//中间的记录也会被删除,多人开发慎用(下同)
4.已经用 git push 提交到远程服务器。
先使用(3)中的操作,把本地代码会退到上一个版本或之前某一个版本
然后git push origin <分支名> --force //把远程代码回退到上一次提交
5.只删除中间某次提交代码。
git revert <提交commit ID>
如果删除的是合并操作
git revert commit_id -m 1 或
git revert commit_id -m 2
https://blog.csdn.net/u013066244/article/details/79920012
删除分支
git branch -d <本地分支名> //删除已合并分支
git branch -D <本地分支名> //删除未合并分支
git push origin --delete <远程分支名> //删除远程分支
合并分支
git checkout master //先回到本地主分支
git merge <分支名> //合并本地分支
合并完成后需要直接push到远程主分支,如果之前分支未add commit 需要add commit后再push
如果有冲突可以使用图形化工具来解决冲突,你可以运行 git mergetool
git cherry-pick commit_id //合并其他分支的某次提交
tag
git tag
git tag -a '1.1' -m '1.1' or git tag 1.1
git push --tags
git tag -d 1.1
git push origin :refs/tags/1.1
查看提交记录
git log
git show 查看最新的commit
git show commitId 查看指定commit hashID的所有修改:
git show commitId fileName 查看某次commit中具体某个文件的修改:
储藏
git stash 会把所有未提交的修改(包括暂存的和非暂存的)都保存起来
git stash save "name"
git stash list
git stash pop 恢复储藏
git stash drop stash@{0} 删除储藏
git stash clear 清空储藏
储藏
使用后项目文件过大,是因为有很多git缓存,如果压缩项目时可以把缓存及分支删除
ls -a //查看目录文件是否有.git
rm -rf .git //删除所有.git
网友评论