Skip to content

Latest commit

 

History

History
106 lines (59 loc) · 3.03 KB

常见问题.md

File metadata and controls

106 lines (59 loc) · 3.03 KB

Git通常用法 Git文档

提交
  • Enter passphrase for key /root/.ssh/id_rsa.pub 输入私钥

     本地执行
     1. eval `ssh-agent`  用于管理密码
     2. ssh-add   将密码加到 ssh-agent
     3.  将两个命令 加入  ~/.bash_profile ,不必每次输入密码
    
合并
  • git pull --rebase origin dev 拉取所有上游提交命令到小红的本地仓库,并尝试和她的本地修改合并

  • git merge tool 引导解决冲突

  • git rebase branchname衍合某一个分支

        如果衍合发生冲突,会自动暂停,解决冲突后 git add,  git rebase --continue即可
    
  • git blame filename 列出文件中每一行的变更时间与作者

  • 将new 分支的修改应用到 new2分支上

      1. new 分支上完成 add . 及 commit, 查看log,复制 commit哈希值
      2. 切换到new2分支
      3. `git cherry-pick 哈希值` 
    

修改命令

  • git config --global alias.co checkout
  • git config --global alias.ci commit
  • git config --global alias.sta status 命令别名
  • git config apply.whitespace nowarn 忽略空格的改变

流程

  • 方案1 所有人在一个分支时

        1. add . commit 
        2. pull --rebase
        3. 解决冲突
        4. push  
    
  • 方案2 每人一个分支时, 不推荐

        1. 在各自分支 add . commit 
        2. 切换到dev, pull --rebase
        3. 解决冲突
        4. merge 本人分支
        5. push  
        6. 保证自己分支每天的代码是dev最新的
    

项目迁移

  • cd 到项目目录下, cd .git/ 更改 conf 中的 ip 或 url
  • push 到新的仓库

注意

  • 本机和远程的相同分支使用rebase。如果是不同分支的合并则必须用merge,否则会导致历史记录不可读,因为再也找不到合并之前各个分支到底是在哪里地址

  • expr (void)NSLog(@"shopname=%@,shopAddress=%@",shop.title,shop.address) 条件断点打印多个变量值

参考

####常见问题

  1. 放弃跟踪项目中的文件

     gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
    正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
    
     git update-index --assume-unchanged PATH    在PATH处输入要忽略的文件
     
     
     git rm -r --cached .
     git add .
     git commit -m 'update .gitignore'
     	
     
    touch .gitignore //创建
    open .gitignore //打开
    
  2. Xcode项目中的某些文件解读 项目文件