- 通过
git init
命令把当前目录变成Git可以管理的仓库 - 用命令
git add
告诉Git,把文件添加到仓库:git add readme.txt
git add -A .添加所有改变的文件。
注意 -A 选项后面还有一个句点。 git add -A表示添加所有内容, git add . 表示添加新文件和编辑过的文件不包括删除的文件; git add -u 表示添加编辑或者删除的文件,不包括新添加的文件。
- 用命令
git commit
告诉Git,把文件提交到仓库:git commit -m "wrote a readme file"
简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
嫌麻烦不想输入-m "xxx"行不行?确实有办法可以这么干,但是强烈不建议你这么干,因为输入说明对自己对别人阅读都很重要。
- 版本控制系统用
git log
命令查看历史记录(如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数) - 在Git中,用
HEAD
表示当前版本,也就是最新的提交,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100
。
使用git reset回到之前的版本:$ git reset --hard HEAD^ HEAD is now at *** add distributed
当你用$ git reset --hard HEAD^回退到上一个版本时,再想恢复到当前版本,就必须找到当前版本的commit id。Git提供了一个命令git reflog用来记录你的每一次命令
$ git reflog e475afc HEAD@{1}: reset: moving to HEAD^ 1094adb (HEAD -> master) HEAD@{2}: commit: append GPL e475afc HEAD@{3}: commit: add distributed eaadf4e HEAD@{4}: commit (initial): wrote a readme file
git checkout -- file
可以丢弃工作区的修改:$ git checkout -- readme.txt
命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
- 命令
git rm
用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。 - 记住账号和密码,下一次输入账号密码之后,系统就会记住账号密码,无需再输入了
git config --global credential.helper store
- 创建本地分支
git checkout -b 新分支名
- 推送本地分支到远程仓库
git push --set-upstream origin 分支名
- 将远程git仓库里的指定分支拉取到本地
git checkout -b 本地分支名 origin/远程分支名
- 将当前分支提交到一个新的分支
git push origin 当前分支名称:新分支名称
- 切换本地分支
git checkout 本地分支名
- 删除本地分支
git branch -d 本地分支名
- 查看commit记录
git log --oneline -3
- 拷贝提交记录到当前分支
git cherry-pick 提交id
-
强行pull覆盖本地文件
git fetch --all git reset --hard origin/master git pull
git基本操作
原文链接:git基本操作,转发请注明来源!
评论已关闭。