idea把本地项目上传到码云:https://www.cnblogs.com/zyboGarden/p/9950907.html
团队开发会这些命令就够了!
第一次使用git的时候
设置用户名:
git config --global user.name 【git用户名】
设置邮箱:
git config --global user.email 【邮箱地址】
查看当前用户信息:
git config --list
操作步骤:
初始化git仓库:
git init
追踪文件:
git add 【文件名】
将工作目录中的文件全部添加到暂存区:
git add .
查看文件状态:
git status
向本地仓库中提交代码:
git commit -m 【提交时的描述】
用暂存区中的文件覆盖工作目录中的文件:
git checkout 【文件名】
将文件从暂存区中删除:
git rm --cached 【文件名】
将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:
git rest --hard commitID
查看提交记录:
git log
克隆远程仓库文件到本地仓库:
git clone 【 仓库地址】
把本地仓库的文件提交到远程仓库:
git push 【仓库地址】【分支名称】
git push -u【仓库地址】【分支名称】
-u 记住推送地址及分支,下次推送只需要输入git push即可
设置仓库别名:
git remote add 【自定义仓库别名】【远程仓库地址】
拉取远程仓库中最新的版本到本地仓库:
git pull 【仓库地址】【分支名称】
查看本地分支:
git branch
注:名称前面加* 号的是当前的分支
查看所有分支(包括远程分支):
git branch -a
加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话)
创建分支:
git branch 【分支名称】
切换分支:
git checkout 【分支名称】
如果远程新建了一个分支,本地没有该分支
可以利用 git checkout --track origin/branch_name ,这时本地会新建一个分支名叫 branch_name ,会自动跟踪远程的同名分支 branch_name。
git checkout --track origin/branch_name
如果本地新建了一个分支 branch_name,但是在远程没有
这时候 push 和 pull 指令就无法确定该跟踪谁,一般来说我们都会使其跟踪远程同名分支,所以可以利用 git push --set-upstream origin branch_name ,这样就可以自动在远程创建一个 branch_name 分支,然后本地分支会 track 该分支。后面再对该分支使用 push 和 pull 就自动同步。
git push --set-upstream origin branch_name
合并某分支到当前分支:
git merge 【分支名称】
删除本地分支:
git branch -d 【分支名称】(分支被合并后才允许删除)(-D 强制删除)
删除远程分支:
git branch -r -d origin/branch-name
git push origin:branch-name
git忽略清单文件名称:
.gitignore
生成秘钥:
ssh-keygen git
秘钥存储目录:C:\Users\用户\.ssh
公钥名称:id_rsa.pub
私钥名称:id_rsa
查看git配置:
git config --global -l
在本地新建一个分支用于开发,自己写代码就在自己本地分支上写
新建分支 -- git branch 分支名
切换分支 -- git checkout 分支名
新建并切换分支 -- git checkout -b 分支名
在自己的分支上写完代码之后 可以用git status 查看一下状态,没有添加到暂存区的文件显示红色
再 用git add 文件名 将修改后的代码添加到暂存区 也可以在uap上面用add to index 将代码添加到暂存区
添加到暂存区之后用git status 查看 添加过后的文件是显示绿色
(注意在add 的时候不要整个项目add 这样很容易把一些不需要的文件提交上去。如配置文件。需要提交什么文件就添加什么文件)
之后再把暂存区的文件用git commit -m '备注' 将暂存区的提交到本地厂库
提交到本地厂库之后 再切到开发分支
用git merge 本地分支名 保证开发分支的内容和本地分支一样
再使用git pull 从远程厂库上拉最新的代码到开发分支上
若出现冲突 把冲突修改完之后再把冲突文件add 再commit 一下
解决完冲突之后再git push 把本地仓库的代码提交到远程厂库
如果不需要提交 可以切回本地分支 将开发分支的代码merge到本地分支 这样可以保证本地分支的代码是好的 不受冲突的影响 改冲突只是在开发分支上进行
有几个命定可能会用到
当你修改了的代码 但是又不想提交 在切分支的时候报错 可以使用git checkout -- 文件名 忽略你本地的修改 但是这个命定慎用 如果你本地的修改可有可无 可以使用这个命定
或者是你commit到了你本地厂库 后来又不想提交了 可以使用 git reset HEAD -- <file> HEAD表示最新版本 改命定的作用是撤回你最新一次提交的文件
或者使用git log 查看最近到最远的提交日志 再用git reset --hard 版本号 回到指定的版本
或者用git reset --hard^ 回退到上一次提交的版本 一个^表示前一次 两个表示前两次
有时候有些人会把文件改大小写然后上传 git 又对大小写很敏感 建议在拉代码之前先把自己本地的修改提交到本地仓库 然后再把修改了大小写的文件删除 再去拉取最新的代码 解决冲突
如果你在拉代码之前没有吧修改了大小写的文件删除 后续操作会比较烦人
对修改的文件进行强制删除 可以用git rm -r -f 文件
如果你本地新增或者修改的文件没有被git 监管到,或者想提交被忽略的文件 可以使用git add -f 文件 进行强制提交
git add -A 提交所有变化
git add -u 提交被修改和被删除文件,不包括新文件
git add . 提交新文件和被修改文件,不包括被删除文件
git stash
可以用来暂存当前正在进行的工作,比如你想拉代码但是又不想提交代码可以使用git stash 来保存你当前的修改
---git stash save "备注" 在存储的时候添加备注,方便查找,也可以直接用git stash
---git stash list 用来查看stash 做了那些存储
---git stash show 显示做了那些改动 默认会显示第一个存储的 如果想要显示指定的 可以再后面加 stash@{}
---git stash show -p 显示第一个存储的改动 如果想看其他的同样在后面加stash@{}
---git stash pop 用来恢复之前缓存的,会将缓存在堆栈中对应的内容删除,并将对应修改的东西应用到当前的工作目录下,同样也可以指定要恢复哪个
---git stash drop 丢弃暂存的内容,也可以指定丢弃哪一个
---git stash clear 删除所有缓存的内容
注意:没有被git版本控制中的文件是不可以被git stash,比如新增的文件就不可以
一、查看
1.查看本地分支
git branch
2.查看远程分支
git branch -r
3.查看所有分支
git branch -a
二、创建分支
1.创建本地分支
git branch dev
2.切换到新创建的分支
git checkout dev
3.将新分支push到github
git push origin dev
三、删除本地分支