环境:
windows系统平台
已安装git客户端
已有git私服或者github账号(提供远程仓库服务)
一·终端从远程仓库克隆代码到本地,进行修改后上传(省略了本地仓库初始化和连接远程仓库的步骤)
1.首先需要注册身份,即在上传远程仓库时的身份
git config --global user.email "you@example.com"
git config --global user,name "your name"
不设置这一步的话,在push之前会被问道:“who are you?”
2.本地文件有修改后使用以下指令,先保存工作到本地仓库
//提交所有改变到stage
git add .
//提交到本地仓库
git commit -m "提交的注释"
3.在push之前,需要先同步一下远程仓库和本地仓库,因为可能会有其他的中断上传了代码,有可能会导致冲突。
执行指令(从远程仓库拉取master分支)
git pull origin master
4.此时会提醒拉取的文件是否会与本地仓库的文件产生冲突,如果提醒有冲突,需要先解决冲突,此时可以打开编辑器,如eclipse,此时会出现红色双向箭头图标,如图所示
5.此时,打开产生冲突的文件,手动整合代码,解决冲突之后 ,执行add-->commit后,将改变保存在本地,再执行push,将本地代码推送到远程仓库master分支。
git push -u origin master
二·初始化本地并首次上传远程仓库
1.初始化仓库
在已经注册了身份的情况下,执行 git init 指令,初始化本地仓库
2.新建.gitignore文件
文件模板见文末附录
3.提交本地仓库,如前文所述,执行 add-->commit步骤
4.创建远程仓库并连接
在git私服或者github中创建一个代码仓库,复制仓库地址执行以下指令,连接远程仓库并推送本地文件
//将yourRepositoryAddress替换成仓库地址
git remote add origin yourRepositoryAddress
//向远程仓库推送文件
git push origin master
至此代码上传完成。
笔记:
git fetch origin 是从远程仓库获取当前分支版本号,用于对比本地仓库和远程仓库的不同,在eclipse或sts编辑器中会更加友好,有向上或者向下的箭头+数字,表示当前本地仓库领先或者落后远程仓库几次提交。
设置git bash终端显示中文乱码的问题
1.右键bash-->Options-->Text,Locale选择zh_cn,character set 选择GBK
2.显示形如274\232\350\256\256\346\200\273\347\273\223的乱码。
设置git bash
git config --global core.quotepath false
附录,.gitignore模板
## Java template
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
# Sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/dataSources.local.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
# Gradle:
.idea/gradle.xml
.idea/
# Mongo Explorer plugin:
.idea/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### Windows template
# Windows image file caches
Thumbs.db
ehthumbs.db
# Folder config file
Desktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msm
*.msp
# Windows shortcuts
*.lnk
### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
# ignore eclipse files
.project
.classpath
.settings
.metadata
/.springBeans
/bin/