感谢原作者:https://blog.csdn.net/bigdataf/article/details/80430870
转载以备不时只需
1.将项目添加到git中
建好项目,选择VCS - > Import into Version Control -> Create Git Repository
之后会调到指定本地仓库的位置的选项,例如这里选择了项目源代码同目录
2.添加项目到本地仓库
add 把文件从IDE的工作目录添加到本地仓库的stage区
commit 把stage区的暂存文件提交到当前分支的仓库,并清空stage区
push 把本地仓库的提交同步到远程仓库。
pull 拉取远程仓库到本地仓库
项目刚创建完 默认情况下文件是红褐色 表示未add的文件,add后文件是绿色,commit之后正常色,修改后会变成蓝色
add
commit
3.提交到远程仓库
选择要提交的文件
主要提交地址,Push前需要指定远程仓库的地址。如下图,点击Define remote后,在弹出的窗口中输入远程仓库地址。
点击push后
可以看的push成功
4.别人使用或者远程拉取
CSV->Checkout from Version Control ->Git
clone 把项目从远程仓库克隆到本地git仓库和IDE工作区。
5.获取别人的更新
有两种获取更新的方式 Fetch和Pull ,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Pull则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。
git fetch origin master:localdev
//在本地新建一个localdev分支,并将远程origin仓库的master分支代码下载到本地localdev 分支
git diff localdev
//来比较本地代码与刚刚从远程下载下来的代码的区别
git merge localdev
//合并localdev分支到本地的master分支
git branch -d localdev
//如果不想保留temp分支 可以用这步删除
git pull <远程主机名> <远程分支名>:<本地分支名>
//取回远程主机某个分支的更新,再与本地的指定分支合并
git push <远程主机名> <本地分支名>:<远程分支名>
注意:pull和push的区别
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
6.加入新功能
创建本地新分之
git branch abc 创建新分支abc
git checkout abc 由当前分之切换到abc分之
git branch -r 查看远程分支
git branch -a 查看所有分之
git log 查看提交记录
- 1
- 2
- 3
- 4
- 5
当前是master主分支 New Branch 创建新分之
填写你要创建的分之名ABC 选择checkout branch后 点击ok按钮则自动切换到新的分之上
可以看到已经创建成功 并且当前分之为ABC分之
跟新代码后为了让别人也读取到你分新分支,需要将本地新分支push到远程仓库
直接push 则会在远程新增对应的分之
7.其他人拉取的时候
Git->Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作
8.和并ABC开发新分之到master主分之上
checkout到master 分之上 在Merge Changes
git pull当遇到冲突时
git stash 保存本地更改
git stash list 查看stash
git pull 拉取远程文件到本地,本地冲突代码显示为远程最新代码
git show stash@{0} 查看pull前后变化
git stash pop
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
git -> Stashed changes(相当于git stash命令)->git pull ->UnStashed changes->Pop stash->(选择保留自己的还是othier的或者merging) 如图 abc是远程内容 ==下面是本地内容 merge后就是这样,需要自己修改
放弃本地修改,直接覆盖
git reset --hard
git pull