# git-note **Repository Path**: wx_504ae56474/git-note ## Basic Information - **Project Name**: git-note - **Description**: git学习笔记,记录常用git命令 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-12-23 - **Last Updated**: 2021-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GIT ## 1.创建本地代码库 > 新建本地仓库 $ git init > 从远程仓库克隆 $ git clone [url] ## 2.配置 > 显示 git 配置 $ git config > 编辑 git 配置文件 $ git config -e [--global] > 设置提交代码是的用户名 $ git config [--global] user.name "username" > 设置提交代码是的用户邮箱 $ git config [--global] user.email "email address" ## 3.增加/删除 > 添加指定文件到暂存区 $ git add [file1] > 添加所有文件到暂存区 $ git add . > 删除暂存区指定文件 $ git rm [file1] [file2] ## 4.提交代码 > 提交缓存区到仓库 $ git commit -m [message] > 添加指定文件到仓库区 $ git commit [file1] [file2] -m [message] > 提交工作区自上次 commit 之后的变化直接到仓库区 $ git commit -a > 快捷提交 $ git acm 'commit message' ## 5.分支 > 列出所有分支 $ git branch > 列出所有远程分支 $ git branch -r > 列出远程、本地所有分支 $ git branch -a > 新建分支 $ git branch [newBranch] > 新建并切换到该分支上 $ git checkout -b [newBranch] > 切换到指定分支 $ git checkout [branch] > 切换到上一分支 $ git checkout - > 重命名分支 $ git branch -m old_branch new_branch > 删除本地分支 $ git branch -D [branch] > 删除远程分支 $ git branch -r -d origin/branch-name // 删除了本地的远程分支跟踪 $ git push origin :branch-name //删除远程分支 ## 6.同步 > 更新远程仓库 $ git remote update > 下载远程仓库的所有改动 $ git fetch [remote] // 下载远程仓库的所有改动 > 增加一个新的远程仓库 $ git remote add [shortName] [url] > 从远程获取更新到本地 $ git fetch > 从远程获取更新到本地并 merge 到本地 $ git pull > 推送到指定分支,默认 master 分支 $ git push origin [branche] > 创建并拉取远程分支(使用第一种方式会自动建立追踪) $ git checkout -b [newbranch] origin/[remotebranch] or $ git checkout -b [newbranch] $ git pull origin [remotebranch] > 创建并推送之远程分支 $ git checkout -b [newbranch] $ git pull origin [remotebranch] > 远程分支覆盖本地分支 $ git fetch --all $ git reset --hard origin/[remotebranch] $ git pull > 强制推送本地代码同步到远程 git push --force ## 7.连接 > 本地仓库与远程仓库建立连接 $ git remote add origin [url] > 推送到远程仓库并于远程仓库的 master 分支建立连接 $ git push -u origin master > 删除本地仓库与远程仓库的连接 $ git remote rm origin > 推送时为本地分支建立远程分支追踪 $ git push --set-upstream origin [branch_name] > 为本地分支建立远程分支追踪 $ git branch --set-upstream-to=origin/[remoteBranch_name] [lcoalBranch_name] ## 8.冲突 > 多人协同, 本地线上代码同步并处理可能出现的冲突 $ git stash 缓存本地所有更改 $ git pull 拉取并合并线上代码 $ git stash pop 将本地更新在缓存队列中取出(合并冲突) ## 9.Git 本地创建分支并提交远程分支 > 1.创建本地分支 $ git branch [local_branch_name] > 2.切换到该分支 $ git checkout [local_branch_name] > 3.提交分支数据到远程服务器(一般当前如果不在该分支时,使用这种方式提交。如果当前在该 local_branch_name 分支下,也可以直接提交 git push --set-upstream origin [origin_branch_name], 就可省略步骤 4) $ git push origin [local_branch_name]:[origin_branch_name] > 4.本地分支与远程分支建立追踪 $ git branch --set-upstream-to=origin/[origin_branch_name] [local_branch_name] ## 10.查看记录 $ git log [-numbers] $ git l $ git ll $ git lg $ git llg ## 11.忽略文件 > 使已追踪的文件被忽略 $ git rm -r --cached $ git acm 'up .ingnore' ## 12.代码回退 $ git reset --hard HEAD^ 回退到上个版本 $ git reset --hard HEAD~3 回退到前3次提交之前,以此类推,回退到n次提交之前 $ git reset --hard commit_id 退到/进到 指定commit的sha码 ## 13.删除本地更改 $ git checkout -- filename 放弃单个文件更改 $ git checkout . 放弃所有文件更改 $ git clean -xdf 放弃所有文件新增 > 删除新增的文件,如果文件已经已经 git add 到暂存区,并不会删除! $ git clean -xdff 放弃所有文件和文件夹新增 > 删除新增的文件,如果文件已经已经 git add 到暂存区,并不会删除!