git 使用中遇到的一些問題

SmartGit

是git的一種很好用的可視化工具,收費的。能夠註冊非商業用途無償使用。註冊地址 注意,使用git倉庫用戶的郵箱註冊。若是註冊郵箱和git倉庫的用戶郵箱不一致,會出現彈窗。linux

>> git使用中的一些問題:

  1. 使用SSH keys 免密操做git:
    • linux使用xshell等SSH客戶端
    • windows使用Git Bash:
$ ssh-keygen -t rsa -C "yisangwu@hao123.com"  -b 4096  # 使用git帳號生成密鑰
   $ cat ~/.ssh/id_rsa.pub  # 複製公鑰,添加到我的設置的ssh key裏面。
  1. 本地項目,關聯git遠程倉庫:
```shell
$ git init  # 初始化一個新本地倉庫
$ git remote add origin git_url  # 創建和遠程倉庫的鏈接
$ git remote -v  # 查看遠程地址
$ git pull origin master  # 拉取遠程master分支
  1. 修改git遠程倉庫地址:
$ git remote set-url origin new_git_url
  1. 拉取遠程代碼報錯,fatal: refusing to merge unrelated histories:
# branch_name 對應遠程分支名
$ git pull origin branch_name --allow-unrelated-histories  
# 再進行 git 操做
  1. git clone --depth=1 遠程分支看不到的問題:

有些git倉庫代碼過大,達到幾個G,初始化clone或者fetch分支時,常常timeout,或者bad header。即便修改了git的配置,仍是會出現拉取失敗!!git

# depth指定克隆深度,爲1即表示只克隆最近一次commit
$ git clone --depth 1 https://git123.com/group_name/coder.git
$ git remote -r   #查看遠程分支, 此時看到的只有master
$ git remote set-branches origin remote_branch_name  # 添加遠程分支
$ git fetch --depth 1 origin remote_branch_name  # fetch遠程分支,深度爲1
$ git checkout remote_branch_name
  1. git忽略文件權限修改,避免修改文件權限致使的文件衝突或修改:
$ git config core.filemode false  # 在倉庫目錄下執行
  1. 遠程分支不存在,可是本地還有:
$ git pull -p  # 在倉庫目錄下執行
相關文章
相關標籤/搜索