Git 使用笔记

1、如何用Eclise的 Egit 忽略文件和文件夹?

      选中文件或文件夹, 鼠标右键选 team - > Ignore

2、git 的合并 (egit 插件不太好用,只会把新旧两大块代码都标识出来,而不像svn一样按行来合并。)

      git checkout "合并后的分支"  /* 先切换到目标分支,即其他的分支会被汇总到该分支*/

      git merge “其他的分支1”

      git merge "其他分支2"

      // 然后再用编辑器修改 有冲突的代码。

      // 修改完成后 用 git add , git commit 将代码提交即可。

3、撤销 merge操作(merge 后没有进行任何修改)

      git chekcout "新合并的分支”

      git reset --hard "合并前的版本号"

4、将本地的分支与远程的分支关联起来 (If you wish to set tracking information for this tranch you can do so with:)

     git branch --set-upstram-to=origin/<branch> <LocalBranch>

5、在本地基于当前分支建一个新分支

   git checkout -b "new_branch"

  基于一个commit 建一个分支:

  git checkout -b "new_branch" 6e4438468

6、将本地的新分支上传到远程

      git push --set-upstream origin "branch_name" 

      或者用 -u 代替 --set-upstream

      git push -u origin "branch_name"

7、删除远程分支

 a、 git push origin :"branch_name"

    冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支。

   b、git push origin --delete "branch_name"

     上述命令只是删除了远程服务器上的分支指针,Git会保留到下一次GC的触发

8、删除本地分支 

    git branch-d xxxxx

      git branch-D xxxxxx  强制删除

9、从远程取一个新分支到本地。

    git fetch origin "branch_name"   // 此时用 git branch  命令并看不到本地有该分支

   git checkout -b "branch_name” origin/"branch_name" // 本地已经可以看到分支了,相当于在本地新建了一个分支

10. 从远程仓库 copy 项目

  
   git clone    <repo><directory> 或git colone [url]

  如: git clone git://github.com/schacon/grit.git   // 在当前目录下克隆 girt项目的代码库,目录名为 grit.
          

          // 在当前目录下克隆 girt项目的代码库,目录名为newGritName .  
          git clone
git://github.com/schacon/grit.git newGritName 

        

          git clone http://code.com/source/test.git  // 在当前目录下克隆 girt项目的代码库,目录名为 test

 

11. 撤销当前分支的修改:

    git checkout. // 注意后面有个"."

12. 撤销已经 add 但没有 commit 的文件, 分为两步:

  1)  git reset .  // 注意后面有个 “." 撤销的是所有上次 add的文件。

       git reset HEAD "file_name" // 撤销指定的文件。

  2) git checkout "file_name"  

13. 撤销merge的分支

 a、merge后没有进行其它操作:

    1)、git checkout 【merge 操作时所在的分支】
    2)、git reset --hard 【merge前的版本号】

14、恢复当前分支的上一个版本,或任意指定id的版本(即使已经 commit 操作)。

 git reset --hard HEAD^    //恢复到上一个版本

 git restet --hard <分支id> // 恢复到指定 Id的版本

   如: git reset --hard 9e8a761

  

15. Git 重命名本地分支

  git branch -m<old_branch_name><new_branch_name>


16. 查看当前分支的提交记录:

git log // 文本格式

git log --graph //文本图形格式

git log --oneline  // 显示分支id 及注释。

17. 删除本地有但远程库中已经不存在的分支
a、查看远程库分支状态: git remote show origin

b、状态为stale 的分支即为远程库已经不存在

c、运行git remote prune origin 命令本地的这些分支

14. git 生成ssh key,避免以后每次需要输入密码。
  #设置git 的user name 和 email
  $ git config --global user.name "username"
  $ git config --global user.email "user@email.com"

 
  #生成一个新的 SSH秘钥,id_rsa 为私钥, id_rsa.pub为公钥
  $ ssh-keygen -t rsa -C "you_email@email.com"  //三次回车使用默认值
  
  #将 SSH私钥添加到 ssh-agent
  配置 ssh-agent 程序使用 SSH key
  1)、后台启动 ssh-agent
     $  eval $(ssh-agent -s)
      Agent pid 2297
     $ ssh-add /c/users/username/.ssh/id_rsa
     Identity added: /c/Users/username/.ssh/id_rsa (/c/Users/username/.ssh/id_rsa)
   2)、把公钥内容拷贝到网站上

  

15. 如何回退远程master 分支

     第一步:  git reset --hard XXXXXX  // 在master分支下,回退到某个版本。

     第二步: git push --force            // 用本地分支强制覆盖远程的分支

     第三步: 其他成员的操作,要么删除自己本地的 master本支,重新从远程取。
                   要么用 git reset --hard origin/master 命令强制用远程分支同步本地分支。

 

16. git reflog --date=local --all | grep branch

17、回退对当前分支的merge 操作:

    “git merge --abort”

 18、fatal: Authentication failed for又不弹出用户名和密码 解决办法:
    git config --system --unset credential.helper

19、查看已经合并到指定分支的分支

    本地:  git branch --merged "分支名-可选“

     远程: git branch -r --merged master

20、查看尚未合并到指定分支的所有分支

 本地:  git branch --no-merged 分支名-可选“

  远程:  git branch -r --no-merged 分支名-可选“

20、创建注释标签

     git tag -a v2.0 -m "release version 2.0"

     git push origin v2.0 //将tab 推送到远程服务

      git tag -d v2.0 //删除tag

21、初始化远程仓库的方式

a、从命令行创建一个新的库

   git clone https://remoteReop.git

    cd 本地库目录

    touch README.md

    git add README.md

    git commit -m "add README"

   git push -u oirgin master

b、从命令行推送现有空的库

    cd existing_folder

    git init

    git remote add origin http://remoteRepo.git

    git add .

    git commit -m "inital commit"

    git push -u origin master

c、从命令行推送已有库

    cd existing_repo

    git remote add origin  http://remoteRepo.git

    git push -u origin --all

    git push -u origin --tags


d、也可以如此操作 

    git init

     git clone https://remoteRepo.git

     git remote add origin http://remoteRepo.git

     git push -u origin --all

22、 根据指定序列号新建分支    

git checkout -b new_branch_name history_commit_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值