mzy git学习,git协同开发忽略文档配置以及一些杂点(九)

回忆一个电脑多账户问题

之前也说了,如果使用ssh登陆的话,一个电脑就只能登陆一个账号了,不像通过凭据可以切换(但是其实也可以每次去生成新的公钥和私钥,只要你不嫌麻烦)

再次补充:

ssh-keygen -t rsa -C “邮箱”

到github或者码云上选择:

clone or download 把原来的use https改成use ssh

创建一个专门的use ssh的本地库

然后它(git)自动就会去家目录下找.ssh文件夹找到私钥

进行登陆了,就不需要我们填密码了!(win7及没有凭据管理器的比较方便,而且很安全!)

跨团队操作

跨团队操作 先fork一份到自己的远程库,然后修改之后,发起一个向对方库的一个pull request(推送申请),就可以了!

多人协作时,出现冲突,必须通过git pull origin master来合并之后,再进行push操作,这样才能解决冲突。

多人协作时,项目上传到git上:

配置.gitignore文件

在家目录下配置一个全局的,名字任意

Java.gitignore

内容如下:

# Compiled class file
*.class # Log file
*.log # BlueJ files
*.ctxt # Mobile Tools for Java (J2ME)
.mtj.tmp/ # Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid* .classpath
.project
.settings
target

然后再全局的.gitconfig中加入配置,引入我们的git配置:

记住,一定是正斜线,不能是反斜线,就算你在windows中复制的是反斜线也要修改过来!把\修改成/,因为git是基于linux的,\反斜线git识别不了!

[core]
excludesfile = C:/Users/Administrator/Java.gitignore

eclipse中的git插件也会受到全局gitignore的影响,当然也可以在eclipse的git插件中通过图形化界面的方式进行gitignore配置

然后重新打开eclipse,发现我们配置了全局忽略之后,打开navigator视图发现,我们忽略的文件都没有标记了,只有我们未忽略的文件才有?号。

windows->preferences->team->git->configuration,发现其中的user setting中core.excludesfile已经被引入了!

{

补充:在eclipse的:

windows->preferences->team->git->configuration

右侧,可以看见三种settings:

1.user settings 全局用户级config:依照家目录中的gitconfig

2.system settings git安装的配置

3.repository settings 仓库中的settings .git/config

}

ecipse 中,文件右下角的角标:

+号:表示已经被追踪

*号:表示已经被暂存(加载到了暂存区)

add to index 其实就是加到暂存区中备选项

开始的commit 不多讲了,注意一点:

如果你的远程库,在创建的时候新加了一个master,但是没有什么内容的话,你选择的时候,可以选择force update,去覆盖你远程库的!

回忆:

git clone下项目:

注意一点,记得转(因为clone下来,我们忽略了很多文件,导致这不是一个完整的项目,项目右键configure->convert to Maven Project)

git push -u origin master:

-u:根据自己的需要替换掉远程的分支(第一次提交常用的)

git branch -a 查看所有分支:-a 参数,把当前分支显示成红色

git branch:同样也会显示所有分支,当前分支显示成绿色

git branch -r:查看所有远程分支。

git branch -vv: 查看当前本地库分支和远程库的关系,即:有没有跟踪关系(track)

删除远程库中的文件:

git rm – cached “路径+文件名”

git commit -m “delete file”

git push

git rm --cached filename/-r directory

git commit “xxxx”

git push

创建一个本地分支和远程分支进行关联:

git checkout -b 分支名称 本地库名称/分支名称

git checkout -b mzy origin/mzy

以及存在本地分支和远程分支了,需要进行关联:

git branch -vv:

查看当前本地库分支和远程库的关系,即:有没有跟踪关系(track)

git branch -vv

发现有没有建立映射关系的分支时应该怎么样处理?

git branch -u origin(本地仓库名)/master(分支名)

git branch -u lsnu(本地仓库名)/mzy(分支名)

或者这样的命令(效果同):

git branch --set-upstream-to origin(本地仓库名)/master(分支名)

git branch --set-upstream-to lsnu(本地仓库名)/mzy(分支名)

撤销映射关系:

git branch --unset-upstream

遇到的问题:

将当前目录文件移动到上级(项目名建重复了)

例如

mv ./git ./README.md …/

上一篇:传统表单提交文件上传,以及FormData异步ajax上传文件


下一篇:重新设定McAfee Agent的菜单语言