git的基本用法_随记

一、现有的Git 项目,要为其贡献代码,怎么关联。

1、用git clone <url> 方式(比方式2,要好,都自动关联好了)

git clone <url>

git remote#一般可以看到origin,自动关联好远程主机了,方式2没有

git branch -a#看到本地自带一个master分支,远程的都在

git remote show origin#可以看到比较详细的信息,如分支



2、下载压缩包方式

download一个.zip项目压缩包

解压成一个文件夹

git bash 中 cd 到文件根目录下

git init //初始化文件夹,使之成为一个本地仓库

git remote add origin https://github.com/laisxIsMe/APP_HMT//为本地仓库匹配一个远程仓库

/**

注意上命令中的https://github.com/laisxIsMe/APP_HMT 是自己Fork项目原本主人的项目后的链接,不是原项目本身的链接

比如原项目地址是https://github.com/1136535305/APP_HMT,我在网页fork后就会有https://github.com/laisxIsMe/APP_HMT

*/



二、push格式,pull格式

git push <远程主机名> <本地分支名>:<远程分支名>  //推到远程

git pull <远程主机名> <远程分支名>:<本地分支名>  //拉到本地


三、详细的分支信息

$ git log --graph --pretty=oneline --abbrev-commit
*   7825a50 merge with no-ff
|\
| * 6224937 add merge
|/
*   59bc1cb conflict fixed





引用阮一峰老师的图片,以帮助问题四的理解

四、未保存add 的撤销

情景:导入一个model后,把项目搞得乱乱的,想恢复到没导入的时候。

你可能发现版本回退中的 git reset --hard HEAD^ 回退后还是残留着你导入的model。用git status可以看到你的那个文件夹

这是因为你没add他到暂存区(没有追踪你的这些个文件),git 无法帮你回退。

用如下命令可以回复到原来最后一次commit 的样子。

git clean -df #清除到没有add的文件

git checkout . #注意后面的空格加一点,清除整个项目的,没有add 的修改


五、git auto-merge失败后的提示更改

Step 1: From your project repository, check out a new branch and test the changes.
git checkout -b 1136535305-branch1 master
git pull https://github.com/1136535305/APP_HMT.git branch1

Step 2: Merge the changes and update on GitHub.
git checkout master
git merge --no-ff 1136535305-branch1
git push origin master


注1:--no-ff 表示no FastForward。详看廖雪峰老师的分支管理策略:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758410364457b9e3d821f4244beb0fd69c61a185ae0000

注2:git merge遇到一些合并问题需要人工解决。用到的一些知识可以看下:

http://www.cnblogs.com/sinojelly/archive/2011/08/07/2130172.html


六、习惯性的操作,以保证项目主在github上合并时可以自动合并,利己利人嘛

开始写代码前

1、查看下被fork项目有没有更新,有更新在github网站上发起pull request,把自己github上的项目更到最新

2、用git pull 更新自己本地的项目

提交代码前

1、看下被fork项目有没有更新,有的话重复上面两步,以保证自己新写代码可以与github上代码融合

2、再git push

===============================================


base fork a  ;  head fork b

从b更新内容到a


git option --help 可以查看相关命令的解释,虽然是英文版的



git命令大全

http://blog.csdn.net/dengsilinming/article/details/8000622

参考(阮一峰):

http://www.ruanyifeng.com/blog/2014/06/git_remote.html

参考(廖雪峰)

http://www.liaoxuefeng.com/

发布了31 篇原创文章 · 获赞 43 · 访问量 21万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章