git 常用操作

  • 初始下载项目步骤
 1. 下载项目  
 git clone  'site'  

 2. 查看现有的分支和依赖关系
 git branch -vv

 3. 创建新的本地分支dev,以后的开发在dev进行 
 git checkout -b dev

 4. 合并master分支的内容到dev
 git merge master
  • 提交代码步骤
    整体的思路是:本地有两个分支 master,dev。dev分支主要用来开发,master分支主要用来从远程仓库获取 或者 提交代码。
 1. 查看当前所在的分支
 git branch -a

 2. 查看当前更改的文件
 git status

 3. 添加文件到缓冲区(必须)
 git add -A

 4. 提交代码到本地分支(必须)
 git commit -m '描述'

 5. 切换到master分支(必须)
 git checkout master

 6.远程仓库的内容并合并到master分支(必须)
 git pull 

 7.合并本地master和dev分支(必须)
 git merge dev  (当前所处的分支是master分支)

 8.提交代码到远程仓库(到此完成提交)
 git push 

 9. 切换到dev分支继续开发
 git checkout dev
 git merge master (将master从远程仓库更新的内容合并)
  • 其他常见操作

    1. 关联远程库  origin: 设置的远程仓库的名字 
    git remote add origin 'site'  
    
    2. 删除远程仓库(比如名称是 origin )
    git remote delete origin 
    
    3. 第一次向远程的空仓库推送代码
    //加上 -u git会就把本地分支与远程master分支关联起来,以后推送或者拉取时就可以简化命令
    git push -u origin master
    //以后推送,当本地分支为mater时,会自动推送到远程仓库master
    git push  
    
    4. 远程仓库master分支保存在本地temp分支,如果分支不存在会自动创建
    git fetch origin master:temp
    
    5. 远程分支的创建
    git push origin 本地分支名:远程分支名
    
    6. 远程分支的删除
    git push origin :远程分支
    git branch -d origin/master
    
    7. 删除本地分支
    git branch -d dev
    
    

* **版本管理**  

1.git status
在修改过文件后,运行git status,会显示文件被修改,但还没有提交
即:显示需要提交的修改文件

2.git diff
在修改文件后,运行git status,会显示修改前和修改后不同的内容
即:显示还未提交文件修改的部分

3.提交
git add filename
git commit -m "修改说明"

4.git log
查看提交历史

5.git reflog
查看修改历史

6.git reset --hard 版本号 (版本号可以通过git reflog查看)
退回到指定的版本

7.管理修改
每次修改,如果不add到暂存区,就不会加入到cmmit中

8.git checkout -- filename
撤销更改,回到最近一次git commit 或git add是的状态

9.删除文件
git rm filename 从版本库中移除
rm filename 删除工作区文件
git commit -m "删除说明" 执行删除

* **碰到的问题**  
     
  1. 提交卡在writing解决方案
    git config --global http.postBuffer 524288000

  2. 删除远程仓库的文件
    git rm -r --cached dirname
    git commit -m 'say something'
    git push origin master

  3. 修改.gitignore文件,需要清除一下缓存cache,才能是.gitignore 生效
    git rm -r --cached . #清除缓存
    git add . #重新trace file
    git commit -m "update .gitignore" #提交和注释
    git push origin master #可选,如果需要同步到remote上的话


你可能感兴趣的:(git 常用操作)