GIT相关介绍(二)

一、新建远程仓库 : 

方法一: 只是新建了远端仓库,本地 没有 关联

curl -u 'username'https://api.github.com/user/repos-d '{"name":"RepoName"}'

输入github 密码就可以在网页版本中看见这个项目了

方法二 : 新建仓库  并且  关联

A:新建----

1.在本地新建一个文件夹(lxqGitTest1) 2.在网页版的github中新建一个项目(图中链接) 3.利用命令【git remote add origin 地址 】将本地与线上关联

GIT相关介绍(二)_第1张图片
本地新建的文件夹一定要git  init,否则会出现提示不是一个git的管理仓库

B:关联------

1. git remote set-url origin https://github.com/xueqiliu/lxq.git  更改项目地址 

2.git remote -v     查看远程仓库信息

GIT相关介绍(二)_第2张图片
为本地版本库添加远程版本库

正确的实例:新建,init,-v查看远程是否关联,关联命令,-v查看,已经关联         (PS:只能使用一次,如果已经关联过,就会出现远端已经存在的提示,绿色框中的)


二、Git的基本工作流程如下:

                         (【绿色的是暂存区,红色是工作区】)

备注 : 设置命令别名 : git config --global alias.st status    (git st 即可)global全局   Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:

------------------------更新 ----------------

问题:push和pull 的时候总需要输入账号密码,怎么解决?

答:

1. git config--global credential.helper cache    设置记住密码(默认15分钟):

2. git config credential.helper 'cache --timeout=3600'    自己设置时间

3. git config--global credential.helper store  长期存储密码

4.http://yourname:[email protected]/name/project.git 增加远程地址的时候带上密码也是可以的

执行后会  .gitconfig中会多出来      [credential] helper=store


ps :  如果你正在使用ssh而且想体验https带来的高速,那么你可以这样做: 

1. 切换到项目目录下 :cd xxx

2. 移除远程ssh方式的仓库地址 : git  remote rm origin

3.增加https远程仓库地址git remote add origin http://yourname:[email protected]/name/project.git

----------------------------补充-------------------------------

新增源 git remote add shangguan http://gitlab.mogujie.org/shangguan/mogu-global.git

修改源 git remote set-url origin http://gitlab.mogujie.org/f2e/mogu-global.git

查看源  git remote -v

------------------------设置别名---------------

git config --global alias.st status

1. git status                          查看修改了哪些文件

2. git add .                            之后目标文件是在暂存区(从红色变成绿色)

3. git commit -m ‘xxx’          提交文件(绿色的)到本地仓库(永久转储到Git目录中)

4.git push                             将本地版本库推送到远程版本库(第一次要设置)

5. git commit -a -m ‘xx’       把红的绿的都提交[但是必须都暂存过至少一次,否则不识别]

6. git reset HEAD test2文件名          从绿色变回成红色

7. git checkout file                从红色的变成没有,跟本地一样

8.git diff                               比较红色和绿色之间的区别

9. git diff --cached               比较绿色的和提交过的

10. git diff HEAD                  比较红色和上次提交的差异

PS:push过程中 第一次的时候要设置 【git push --set-upstream origin test】       

GIT相关介绍(二)_第3张图片
【提交代码到远程分支,并且建立本地分支和远程分支关联】


三、查看历史提交记录等 : 

1. git log --stat                 查看每次提交的粗略内容

2. git log -p                       用来显示每次提交的内容差异  

3. git log -n                       查看最近n次提交

4. git log 文件名                  某个文件的提交历史  

5. git show 0bce78b            查看某次提交的改动         

6.git blame 文件名                查看目前文件的每一行是哪个提交最后改动的

7.git log -1 HEAD 文件名      查看文件的最后提交历史


四、回退版本

1. git reset HEAD^    回退到上一个版本(本地)

2. git reset --hard origin/master    回退到和远程master分支一样(本地没有push)

两种情况:

1.没有push     

git reset [--soft | --mixed | --hard  origin/master

默认mixed: 保留源码,只将git commit和index信息回退

--soft:保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

--hard:源码,commit和index 都回退到某个版本.(注意,这种方式是改变本地代码源码)

如果在push后使用 reset --hard  回退代码到某个版本,由于你线上的代码,commit,index都没有变,当你把本地代码修改完提交的时候你会发现全是冲突.....

所以,这种情况你要使用下面的方式

2.已经push:回退本地代码也想同时回退线上代码,回滚到某个指定的版本,线上线下保持一致

git revert 版本号     

git push

分支管理

git branch                              列出本地所有分支

git branch -a                          列出本地和远程

git branch -r                           列出远程所有分支

git branch fenzhi                        创建分支 wxj

git checkout -b fenzhi                创建+切换至

git checkout  fenzhi                    切换分支

git merge fenzhi                          合并某分支到当前分支

git branch -D fenzhi                    删除未合并的分支

git branch -d fenzhi                     删除已合并的分支

git push origin fenzhi                  提交远程分支



五、删除文件


删除文件

rm从工作目录中删除指定文件,但不从暂存区域移除

git rm从版本库中删除该文件 git rm后提交  git rm test.txt    git commit -m ‘remove text.txt'

git rm --cached ...:仅仅将文件从暂存区域中移除(其状态变为未跟踪),不对该文件进行其它操作

git rm -f              强制删除

git rm -r              递归删除(用于删除目录)

git clean              清除未跟踪文件

git clean -n          显示将要清除的文

git clean -f            强制清除文件(不包括目录)

git clean -df          强制清除所有文件和目录


参考链接: http://www.jianshu.com/p/bcd155258985

你可能感兴趣的:(GIT相关介绍(二))