记录 一下向git osc和github上提交代码的过程

不打扰是莪最后的温柔 提交于 2020-03-02 12:46:52

先在github或git osc上建一个空项目,只输入项目名(required)描述(optional)
(不要选择生成README.md也不要选择生成.gitignore)

点确定, 会出现如下画面

http://my.oschina.net/uniquejava/blog/158155

OK!

接下来在eclipse(注意如果是3.7以下版本,得先装egit插件,如果是4.2,4.3已经装好了)
中随便建个工程。在根目录下新建.gitignore里边随便写点比如
*.class
*.jar
/bin

在建个README.md,(我是在这里mahua.jser.me编辑好了粘进去的,我很喜欢这个在线markdown工具)

然后从dos进入到这个目录(我是装了msysgit,直接右键Git Bash Here进去的)

直接输入git init命令(这一步会在工程目录下新建一个.git目录,注意这个文件在windows下是个隐藏目录,可以设置始终显示),

然后要么直接在eclipse中team->share project>git,在选择位置时勾选当前项目中的.git目录

要么使用osc git那个页面上的提示命令,直接照抄就行拉!

http://my.oschina.net/uniquejava/blog/158155

(我发现在git init必须放在当前工程目录下,放到其它地方提交到github或git osc在项目中会多出一层目录

如果还想push到github,看下面的图示:


最终的效果是。
http://git.oschina.net/uniquejava/OpenInExplorer
https://github.com/uniquejava/OpenInExplorer

两个一模一样的push,哈哈!!!

Cyper2014更,                                                         
现在在git@osc上建了仓库提交了一段时间的代码,总想定期到github做个备份(或者叫国际化吧), 做法是:
先在github上建一个同名的空项目(也可以不同名)
然后在命令行下进入到.git所在的目录(一般来说就是你当前的工作目录),然后呢
输入
git remote
可以查看当前有哪些remote branch,一般来说都会显示
origin
此时你希望增加一个指向github的remote branch那么执行如下命令:
git remote add github https://github.com/uniquejava/project_name.git
注意这里github只是个别名或标签, 后面的https路径是你在建好项目后github提供给你的仓库地址
此时再次输入git remote你可以看到这样的输出
github
origin
这样就能确认你现在有两个remote branch了,origin指向了osc, github是你新增的,指向的是github
接下来向github推送你的项目
git push -u github master
同理,向osc推送你的项目
git push -u origin master
OK, 大功告成.

git对于remote别名的管理

git remote -v(显示remote列表)
git remote show origin(显示某remote详情)
git remote rename origin osc (重命名)
git remote rm github (删除某个remote branch)
git clone -o osc http://git.oschina.net/~ (不喜欢默认origin时这样clone)

git对于branch的管理

git checkout -b mybranch(新建branch)
git branch -d mybranch(删除本地branch)
git branch -m old_branch new_branch(重命名本地branch)
git merge mybranch(合并branch,你需要先checkout到别的分支)
git push origin mybranch (推送本地branch到远程)
git push origin :mybranch(删除远程branch)

git对于tag的管理
git checkout xx_tag(切换到xx_tag)
git tag v0.1 (将当前版本打标签)
git tag -a v0.1 -m "a runnable version." (将当前版本打标签)
git tag(列出所有的tag)
git tag v0.1(显示某个tag)
git tag -d v0.1(删除某个tag)
git push origin v0.1(将tag v0.1推向服务器)
git push origin --tags(将所有的tag推向服务器)


Cyper2015更,                                                         

git config --global user.name "cyper"
git config --global user.email "3453***@qq.com"
git log --oneline -Ssearch_string_here
git commit --amend 重做最后一次提交
git reset 清空index区(撤销所有的git add)
git reset file_name 撤销单个文件的git add
git reset -i HEAD~3  和 git rebase -continue(每次向下一个commit前进一步)
git diff 比较working directory和index
git diff -cached或--staged 比较index和最后一次commit
git diff HEAD 比如working directory和最后一次commit


参考:
1. Pro Git
2. stackoverflow.com/questions/1526794/git-rename-master-branch-for-both-local-and-remote-repository
3. http://blog.csdn.net/xzongyuan/article/details/11628019 (tag的部分)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!