美文网首页
Git使用方法

Git使用方法

作者: D_Major | 来源:发表于2019-01-22 11:46 被阅读0次

    参考:

    http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html

    解决github速度过慢(linux, mac均可用):

    最好在ipaddress.com搜索, nslookup搜的不准

    nslookup github.global.ssl.fastly.net
    nslookup github.com
    sudo vim /etc/hosts      # 修改hosts
    sudo /etc/init.d/networking restart   # 然后刷新DNS缓存(Linux)
    
    # mac使用如下两条刷新DNS缓存:
    sudo killall -HUP mDNSResponder
    sudo dscacheutil -flushcache
    

    本机:

    先 git add Filename , 再 git commit -m "本次名称" ,其中 git commit -am "本次修改名称" (不用add可直接上传)

    git init 文件夹需先初始化 , git status 查看当前修改过的和未上传的状态 , git log 查看上传记录, git show 查看最近一次上传详细内容

    撤销undo操作:

    git checkout -- Filename 将对该文件所做的修改都撤销

    若文件已add到暂存区,则git reset HEAD Filename将文件恢复到工作区,之后使用checkout命令撤销修改

    若文件已commit到版本库,则需要版本回退

    版本回退:
    如果push到origin的时候提交错了分支, 如把code_format提交到了master, 此时master的都是最新的, 不会被提交到origin. 所以只需要使用git reset HEAD^撤销一次commit即可重新提交到origin code_format.

    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。

    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本

    服务器端:

    从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是将一个库复制到你的本地,是一个本地从无到有的过程)
    从远程服务器获取到一个branch分支的更新到本地,并更新本地库,叫做pull.(pull是指同步一个在你本地有版本的库内容更新的部分到你的本地库)
    git pull相当于是从远程获取最新版本并merge(合并)到本地 ,即git pull = git fetch + git merge

    先git clone https://github.com/D-Major/cd61b +(可选)本地目录名,克隆到本地文件夹,该命令会在本地主机生成一个目录,与远程主机的版本库同名,如果要是制定不同的目录名,可以将目录名作为git clone 命令的第二个参数

    git remote add repo-name(如origin) repo-url(如https://github.com/D-Major/cd61b),把别人的库拉过来,起个名

    git remote -v 查看当前所有库名称和对应url

    git pull repo-name master(远程分支)+(可选)本地分支, 获取对应库最近一次备份

    如果提示“fatal: refusing to merge unrelated histories”则强制合并:

    git pull --rebase --allow-unrelated-histories repo-name master

    之后修改文件,git add ,git commit ,push到服务器:

    git push repo-name master

    push之前要先pull到本地

    强制拉取远程分支: git fetch --all && git reset --hard origin/master && git pull

    删除远程分支: git push origin :分支名

    重命名远程分支:

    git branch -m <old_name> <new_name> 在本地的clone版本中重命名分支

    git push origin :<old_name> 删除远程分支

    git push origin <new_name>将本地的新分支名push到远程

    补充:本地git 操作

    git branch <new_branch_name> 建立本地 local branch
    git branch -m <old_name> <new_name> 改名字 (如果有同名會失敗,改用 -M 可以強制覆蓋)
    git branch 列出目前有那些 branch 以及目前在那個 branch
    git checkout <branch_name> 切換 branch (注意到如果你有檔案修改了卻還沒 commit,會不能切換 branch,解法稍後會談)
    git checkout -b <new_branch_name> (<from_branch_name>) 本地建立 branch 並立即 checkout 切換過去
    git branch -d <branch_name> 刪除 local branch
    git reset --hard origin/dblock 使用dblock分支覆盖目前所处的分支

    .gitignore增加.idea/

    在已经add过.idea/之后, 再次在.gitignore中添加./idea是没有用的, 需要从stage中删掉.idea/, 再把.gitignore重新提交一次

    # .gitignore先添加/.idea/
    git rm --cached -r .idea
    git add .gitignore
    git commit -m "gitignore提交删除.idea"
    # git push origin master
    

    相关文章

      网友评论

          本文标题:Git使用方法

          本文链接:https://www.haomeiwen.com/subject/lrdljqtx.html