git

文章目录

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分支)

分享到:

评论完整模式加载中...如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理