git 学习笔记

来源:互联网 发布:手机软件广告拦截软件 编辑:程序博客网 时间:2024/06/15 09:48
git config --global user.name    设置用户名
git config --global user.email 设置邮箱

git status 查看工作完成状态
git status -s
如果M出现在第一列:工作区域版本库有差异。
如果M出现在第二列:当前文件与工作区有差异。

git init  初始化脚本仓库
git clone url 远程克隆代码
git diff 工作区与暂存区的不同
git diff head 工作区与仓库(head)的不同

git diff --cached 比的是暂存区与仓库(head)的不同

head是一个指针,指向当前所在的分支。

git stash     :保存当前工作区状态,相当于暂停,切换分支的时候会用到
git stash pop :启动当前工作区状态,相当于回放,切换回分支的时候会用到
git reset head a.txt 把暂存区的文件撤销

git branch 查看分支
git branch brname 创建分支

git reset
git push origin master  推送到git hub 上

git checkout . 当前工作区,只改了一个文件,其他的文件都不要了,就要git 
git checkout file 修改一个文件,未add,但已经提交过,想撤销这次修改。
git checkout 目录

1:修改一个文件,未add,但已经提交过,想撤销这次修改。
git checkout a.txt

2:如果修改某一个文件,已经add,但是想撤销这次修改。
git rest a.txt

3:如果修改了某几个文件,但是想撤销到某几个版本,但是当前暂存区
,工作区不想撤销?
git rest --soft commitId

4:如果想修改某几个文件也提交暂存区了,想撤销到某个commit
git rest --hard commitId

5 当别人在库中更新了内容,此时如果你继续添加文件(执行add . git commit - m"我又添加了文件",git push -u orign master),此时服务器会拒绝,所以此时需要先执行git add .把你要添加的内容添加到本地库,然后执行git pull 更新下来远程库的最新版本,然后再执行 git push -u orign master 提交到远程库上去。

git log 查看日志
git reflog 查看日子列表
git reflog show master查看主分支列表
git reset --hard xxx 回到制定版本
git cat-file -p HEAD

git pull下载最新代码
git branch -d 删除本地分支
git push origin:mybranch 删除远程分支
git remote add orign (url)本地库连接远程库,相当于origin做一个标识
git push -u origin master 把本地的内容推送到rign远程库的master分支
git push -u orign master 本地仓库推到远程master
git rm index.html 从托管区删除index.html

(1)分支(branch):

         git branch --查看当前分支
         git branch -a --查看所有分支
         git  branch test -- 创建一个名称为test的分支
         git checkout test --切换到test分支
         git push -u orign test  -- 将分支更新到远程库

(2)合并(merge):
          git checkout test --切换到test分支
          git merge master --合并主分支,此时,test是最新的代码,即把主分支和test分支合并到一起
          git checkout master --切换到主分支
          git merge test --合并test分支,即将test分支合并到主分支上,即现在master是最新的代码。
          git push -u orign master -- 提交更新到远程库 

  git log -l 3 --查看最近3次的提交
         git reset --hard *********** -- 强制退回到某次的修改
         git push -f -u orign test -- 强制更新到远程库
         git revert **********--执行回滚

         git push -u orign test -- 更新到远程库


1. git fetch:相当于是从远程获取最新版本到本地,不会自动merge

    
Git fetch origin master
git log -p master..origin/master
git merge origin/master

    以上命令的含义:
   首先从远程的origin的master主分支下载最新的版本到origin/master分支上
   然后比较本地的master分支和origin/master分支的差别
   最后进行合并
   上述过程其实可以用以下更清晰的方式来进行:

git fetch origin master:tmpgit diff tmp git merge tmp

    从远程获取最新的版本到本地的test分支上
   之后再进行比较合并
2. git pull:相当于是从远程获取最新版本并merge到本地

git pull origin master

上述命令其实相当于git fetch 和 git merge
在实际使用中,git fetch更安全一些
因为在merge前,我们可以查看更新情况,然后再决定是否合并
结束


原创粉丝点击