1.3 git使用

远程协同开发步骤:

1.把码市上的项目clone下来

          git clone 码市上的项目地址(.git)

2.向码市上传代码push

          //1.添加远程仓库 (先init初始化本地仓库)

          git remote add origin 码市上的项目地址(.git)

          //2.查看远程仓库

          git remote -v

          //3.添加项目到缓存区

          git add 要上传的项目

          //4.提交缓存区

          git commit -m "要编辑的话"

          //5.先拉下最新代码

          git pull origin master

          //6.push代码

          git push origin master

ASGUI:1.VCS-import into version control-create git repository 初始化本地仓库

               2.VCS-Git-remotes 添加远程地址

               3.VCS-Git-pull/push 该建立连接的选一下

注:1.若拉不下来(代码和Gui方式都可能有这种情况),试试:git branch --set-upstream-to origin/master master

        2.如果有两个git账号,由于记录使得第二个号的项目拉不下,试试:git config --system --unset credential.helper (可重输账户密码)


关于ssh

          1.ssh-keygen -t rsa -C"xxxxx@xxxxx.com"  //生成ssh公钥

          2.cat ~/.ssh/id_rsa.pub  //查看你的 public key,将得到的公钥添加到对应平台

             码云:ssh -Tgit@git.oschina.net 返回welcome表示成功

          --allow-unrelated-histories  //pull时解决(因为两个仓库不同,发现refusing to merge unrelated histories)


基础命令:

1.git config --global user.name"Your Name"                       //查看则不加后面引号内容

2.git config --global user.email"email@example.com"

3.git init                                                                                //通过git init命令把一个目录变成Git可以管理的仓库

4.git add readme.txt   ||     git add .                                      //添加文件到仓库(add . 添加所有)

5.git commit -m"first commit"                                               //提交文件到仓库

6.git status                                                                           //查看仓库当前的状态

7.git diff                                                                                //查看difference,具体的修改内容

8.git log                                                                                //显示从最近到最远的提交日志    --pretty=oneline 加参数显示简单点

8.git reset--hard HEAD^    || git reset --hard commit_id      //回退到上一版本,HEAD表示当前版本,HEAD^^,HEAD~100

9.git reflog                                                                           //记录每一次命令

10.git checkout -- file                                                          //丢弃工作区的修改 eg:修改了readme.txt,执行命令放弃修改。 无“--”表示切换到分支

11.git reset HEAD file                                                         //可以把暂存区的修改撤销掉(unstage),重新放回工作区

//git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本。

12.git reset HEAD file                                                        //可以把暂存区的修改撤销掉(unstage),重新放回工作区

13.git rm                                                                            //删除一个文件,已经提交到版本库不用担心误删,但只能恢复文件到最新版本

     删除-commit-push

14.git remote add origin git@server-name:path/repo-name.git          //关联一个远程库

15.git push -u origin master                                              //第一次推送master分支的所有内容 -u:将本地的master分支和远程的master分支关联

16.git clone                                                                       //克隆一个本地库

17.git branch                                                                     //查看当前分支

18.git branch  blackbai12-branch                                      //创建分支

19.git checkout                                                                  //切换分支

20.git checkout -b blackbai12-branch                               //创建并切换分支

21.git merge                                                                      //合并指定分支到当前分支

     git merge --no-ff -m"merge with no-ff"dev                    //--no-ff参数,表示禁用Fast forward

22.git branch -d blackbai12-branch                                   //删除分支

23.git log --graph                                                               //查看分支合并图



忽略文件

一般需要忽略的文件如下:

1、.idea文件夹

2、.gradle文件夹

3、所有的build文件夹

4、所有的.iml文件

5、local.properties文件

AS svn忽略

svn添加忽略文件


AS git 忽略

git添加忽略

如果规则未生效,如下更新:git rm -r --cached .       git add .       git commit -m'update .gitignore'



tips:

1.为什么Git添加文件需要add,commit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件,比如:

       $git add file1.txt

       $git add file2.txt file3.txt

       $git commit -m"add 3 files."

2.git log  是当你回退到某个版本,此版本之后的记录,就自动抹去了

   git reflog 是你提交的完整的命令历史,回退到某个版本,仍然可以查到位于此版本之后的版本号。

3.工作区(Working Directory):就是你在电脑里能看到的目录

    版本库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库


4.Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

5.开发中一直 本地dev push 远程dev,(团队协作同时push远程dev,解决冲突,保证远程dev和本地dev无冲突)

   (需合并时,eg:matser发布一个版本)本地master merge 本地 dev,本地master push 远程master

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容