初始化仓库
git init #初始化
git init newrepo #使用我们指定目录作为Git仓库
配置用户
git config --global user.name “你的用户名”
git config --global user.email “你的邮箱”
git config --global --list #检查你的配置
git config --add --local user.name “你的用户名”#新增用户
git config --add --local user.email "你的邮箱#新增用户
git config --local --list#查看本地账号
查看版本
git --version #检查版本号
git status #记录更新
添加文件
git add. #添加全部文件至暂存区(Index)
git add filename #添加filename至暂存区(Index)
git add filename filename2 #添加多个filename至暂存区(Index)
git reset HEAD filename #撤销添加filename至暂存区(Index)
git commit -m 备注 #上传暂存至HEAD
git push origin master #将这些改动提交到远端仓库,可以把 master 换成你想要推送的任何分支。
分支处理
git branch #查看所在分支
git branch feature_x#新建分支feature_x
git branch -d feature_x #把新建的分支feature_x删掉
git checkout -b feature_x #创建一个叫做“feature_x”的分支,并切换过去
git checkout master #切换回主分支
git fetch #拉取所有的远程仓库。
git branch -av #查看所有分支
git push origin #除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的
git push origin --delete summer #删除分支并推送到仓库
git remote add origin #将你的改动推送到所添加的服务器上去了。
————————————————————————————————
以上传至github 为例
echo “# test” >> README.md
git init
git add README.md
git commit -m “first commit”
git branch -M main
git remote add origin 【https://github.com/xxxx/test.git】 #【此处为存档地址,若上传一次后,可在打开隐藏文件可见,在.git/config 中修改】
git push -u origin main
————————————————————————————————
更新与合并
git pull #更新你的本地仓库至最新改动
git re filename #删除filename(命令行删除文件,仍需add + commit)
git mv filename filename2 #修改filename文件名为filename2
git merge #合并其他分支到你的当前分支(例如 master)
git merge --abort #保留当前分支代码(跳过冲突)
git diff <source_branch> <target_branch> #在合并改动之前,你可以使用命令预览差异
做标签
git tag v1.0 #给上一步操作创建一个叫做v 1.0.0 的标签
git tag v1.0 1b2e1d63ff #给1b2e1d63ff 创建一个叫做v 1.0.0 的标签
git tag -d v1.0 #删除标签
git push origin v1.0 #推送标签至远程仓库
查看日志
git log #获取提交 ID,你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性
git log -p filename #查看filename最近一次改动
git log --oneline #查看简写的版本路线
git log --oneline --graph #查看基本路线
git checkout – #假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动,此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
————————————————————————————————
假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它
git fetch origin
git reset --hard origin/master
git reset --hard HEAD^^^ ##回退三步操作
git reset --hard ID ##回退至操作ID时的状态
————————————————————————————————
实用小贴士
git clone 【https://github.com/xxx/test.git】filename#克隆代码库并命名为filename
git config color.ui true #彩色的 git 输出
gitk #内建的图形化 git
git config format.pretty oneline #显示历史记录时,每个提交的信息只显示一行
git add -i #交互式添加文件到暂存区