1、git通用操作流程
a.创建文件夹用来保存从远程库拉取的代码;
b.打开文件夹,右键启动Git Bash Here;
c.git init => 初始化本地仓库(实际上是添加了.git隐藏文件);
d.git remote add origin http://***/**/**.git => 与远程库建立连接;
e.git fetch origin develop(develop为远程库分支名称) => 将远程仓库的分支代码拉取到本地;
f.git checkout -b 本地分支 origin/远程分支 => 创建本地分支并切换到该分支;
g.git pull origin develop => 将远程develop分支上的代码拉取到本地,出现Already up to date. 表示成功;
-------以下为修改对应分支下代码后的提交流程及会出现的问题
## 版本比较 git diff filename //查看尚未暂存的文件做了哪些修改 git diff –cached filename //查看已经暂存起来的文件和上次提交的版本之间的差异 git diff 版本号1:文件名 版本号2:文件名 //查看某两个版本的某个文件之间的差异 git log -- filename //查看历史提交中对filename进行修改的提交
h.git add 文件名 => 将文件添加到暂存区,git reset HEAD 来将在暂存区的内容撤销掉,重新放入工作区;
i.git status => 查看状态
j.git commit -m '注释' 文件名 => 将变更提交到本地库:
git commit 提交后会打开vim编辑器添加注释,加上 -m 可以直接添加单行注释,多行注释:
$ git commit -m ' > 注释1 > 注释2 > 注释3 '
k.git pull 更新代码
##可能遇到的问题 ## 1.改完代码后,git pull更新代码发现出现冲突时 ### a.git stash //暂存当前正在进行的工作 ###### ### b.git pull //获取最新改动 ### c.git tash pop //恢复自己的改动 ###### 如果pop后有冲突,冲突文件内部会有:>>>之类的标示,找到并一点点解决掉,即可。 ## 2.不同分支代码的更新与合并 ####//切换到master分支 git chekout master //更新master分支 git pull //切换到自己的分支isso git checkout isso //把master分支合并到自己分支 git merger master
l.git push 将本地库中的变更推送到远程仓库(对应问题3)
m.
2、从远程库拉取代码时出现:
remote: HTTP Basic: Access denied fatal: Authentication failed for 'http://192.168.xxx.xx/kxvc/kxvc.git/'
权限问题,snjt登录VPN;
执行
git config --system --unset credential.helper
接着再次clone或者拉取代码时,就会提示输入用户名和密码,输入相应用户和密码即可
3、git 推送本地分支到远程分支 git push origin
推送本地分支local_branch到远程分支remote_branch并建立关联关系
a.远程已经有remote_branch分支并且已经关联本地分支local_branch且本地已切换到local_branch分支
git push
b.远程已经有remote_branch分支但并未关联本地分支local_branch且本地已切换到local_branch分支
git push -u origin/remote_branch
c.远程remote_branch分支,本地已切换到local_branch分支
git push origin local_branch:remote_branch
4、继2会出现的问题:
当本地已切换到local_branch分支,但执行了 git push origin local_branch,远程库中会多出来一个分支local_branch,就涉及到了删除远程分支;
i.直接在远程库中点击删除按钮;
ii.远程库中删除了local_branch分支,但本地的远程追踪分支依然存在
解决:
a.查看本地分支和远程分支
git branch -a ## git branch -r 可以只查看远程分支 ## git remote show origin 可以查看remote地址,远程分支,还有本地分支与之相对应关系等信息。
b.查看需要清理的(失效的)的远程追踪分支(设远程版本库名是 origin)
git remote prune origin --dry-run
c.清理失效分支
git remote prune
5、查看分支关联
git branch -vv
6、添加忽略文件
用IDEA的话,导入项目时会自动生成一些文件:
.idea文件夹及文件夹下文件;
以.iml结尾的文件;
用gradle的话,gradle衍生配置文件也要忽略
在项目根目录下建立 .gitignore.txt 文件:
添加前:
添加文件,文件内容如图例;
添加后:
7、涉及vim 文件操作,相关命令
git restore file> 表示将在工作空间但是不在暂存区的文件撤销更改
git restore --staged file> 作用是将暂存区的文件从暂存区撤出,但不会更改文件
文件冲突解决:
git stach
git pull
git stach pop