git
简单的 git 指令
cd .. 返回上一级
git config –list
git config –global user.name “Dloux”
git config –global user.email “[email protected]“
git init 初始化 (如果文件夹里有 .git 隐藏文件夹,就代表已经初始化过了)
git add 文件名 (保存一个文件到暂存区)
git add . 保存当前所有文件状态 到 虚拟本地仓库(暂存区)
git commit -m ‘提交信息’ 把刚刚放到暂存区的文件放到本地仓库,并记录 提交信息(就是 -m 之后的字符串)
git commit –amend -m “新的提交信息” (适用场景:在执行git commit -m “提交信息”命令时,写错了提交信息,此时还未执行 git push 命令,希望修改提交信息的情况)
git remote add origin https://gitee.com/Dloux/note.git (origin是仓库的名字,可以自定义,后面的HTTPS是仓库地址,也可以是SSH 格式,写一次就好, 如果使用 SSH,那么下次提交的时候不需要你的账户信息,HTTPS 是需要你输入的)
git push origin master (origin是名字,我自己设置的是note,master是分支名字,有可能会让输入用户名密码,用户名是Dloux,密码是账号密码) (事实上 git push origin master 的意思是 git push origin master:master ,将本地的 master 分支推送至远端的 master 分支,如果没有就新建一个)
总共四种 本地工作区(workspace,我们写代码的地方 红色)
虚拟本地仓库、暂存区(index 绿色)
本地仓库(Repository 无特殊颜色 nothing to commit 代表都在本地仓库了 ,可以上传到远程仓库了)
远程仓库(Remote)
git status (查看文件状态! 颜色就是上面的情况,可以看文件放到哪里了)
想要修改远程仓库,必须先把远端仓库同步到本地。(因为可能别人修改了仓库,和你的本地仓库不一样,可能会无法push)
git clone [url] (url是仓库地址,自己写把 [ ] 删了,如 https://`````` 或 SSH 格式,会把历史记录也下载)
遇到两个人同时修改一个文件的时候,上传时可能会发生冲突,需要手动操作要使用哪个人的版本
git remote rm origin (移除已经建立的 origin)
git push -f origin master (当远程仓库和本地仓库内容不一样的时候,你不想pull下来,这条命令可以强制推送)
项目建立后
git checkout -b login (创建子分支 login,并且通过 checkout 命令切换到了 login 分支)
git branch branchName (创建子分支 branchName,不切换到这个分支)
git checkout master (切换到主分支)
git branch (查看当前项目所有分支, 有 * 号的表示当前分支)
git merge login (合并 login 分支的代码)nc
git push (将本地代码上传到云端仓库的 origin master 分支,git 在你没有指定 remote(也就是仓库,在这里是 origin )和 merge(在这里是master) 时,默认会变成 origin master 分支,它只是 git push origin master 的一种简写形式。而别的操作也会有同样的情况,如 git pull,就是简写形式,默认为项目主分支)
git remote -v (查看远端仓库的数量)
git push -u origin login (如果仓库里没有 login ,就需要用到这句带 -u 的,将 login 子分支推送到云端仓库,同时指定origin为默认主机,-u 即 –set-upstream,是指定默认主机,以后就可以 git push 不指定参数了,默认推送到 origin 的当前分支上(用 git branch 查看当前分支))
git branch -d branchName (删除本地子分支 branchName)
当本地仓库和远端仓库发生冲突时候,git 可能会让你先 pull 再修改,我们可以按下面这样,也就相当于 pull 了,区别在于:
git pull 相当于从远程获取最新版本并 merge 到本地。
git fetch 相当于是从远程获取最新到本地,不会自动merge。
git fetch origin master:tmp (把远程仓库master分支下载到本地并存为tmp分支,并对冲突项进行修改)
git diff tmp (查看tmp分支与本地原有分支的不同,这里主要是看看有没有其他的改动…)
git merge tmp (将tmp分支和本地的master分支合并,这个时候呢,本地与远程就没有冲突了,而且还保留了我今天的代码,现在Push就OK啦!)
git branch -d tmp (最后别忘记删除tmp分支)