下载git之后,设置用户名和邮箱
git config --global user.name 'yourname'
git config --global user.email 'youremail'
然后检查一下
git config -l
会显示账号相关信息,如下
接下来就可以创建(初始化)本地的仓库了
git init
但还需要和远端仓库相关联
git remote add origin https://github.com/username/Repositoryname.git
现在就可以在这个目录在放一些需要用的文件,也就是代码了
这个时候可以查看当前目录(工作区)的状态
git status
使用命令进行提交
git add * // 这句命令的意思是添加当前目录所有文件到暂存区,*是通配符,可匹配任意字符
git commit -m '注释内容' //这句命令的意思是提交到本地仓库
//推送到远端
git push -u origin master
// 删除远程连接
git remote remove origin
//查看分支
git branch
git add 后面可以接多个文件名,这样可以选择性提交
例如,当前目录里面有file1.txt , file2.txt, file3.txt .目前只需要提交1和2,则
git add file1.txt file2.txt
或者
git add file1.txt
git add file2.txt
把某个分支上的内容都拉取到本地
git pull origin dev(远程分支名称)
// 例如,拉取远程master
git pull origin master
值得注意的是一种常见的情况,当你在一台机器人向远程推送了文件,后来在另一台机器上忘记git pull
了,对本地文件进行了修改后才发现,这个时候git pull
就会报错
error: Your local changes to the following files would be overwritten by merge:
<一些信息>
Please commit your changes or stash them before you merge.
意思就是你的本地变化将通过merge被覆盖,我们当然不愿意刚做的工作白费,那么解决办法就是
git stash
git pull origin master
git stash pop
不过,如果你想直接覆盖的话,也可使用命令:
git reset --hard
git pull origin master
撤销git add
或者 git commit
需要注意的是,如果是本地已经有文件,这个时候推到远程可能会报错
git reset HEAD
git reset HEAD^
git reset HEAD^^
这里的 ^ 表示倒退一个版本,两个 ^ 表示倒退两个
如何知道自己该退到那个版本呢?
使用git log
就可以看到了
如何检验时候倒退成功了呢?
git ls-files
这个命令可以查看已经git add
的文件,也就是暂存区中的文件
git diff origin/master master
这个是查看master中的和origin/master中的区别的,一般master指的是本地git commit的,origin/master是远程master分支在本地的一份拷贝,如果没有使用git push -u origin master
,那就没有推送到远程,这两个就不一样,也就间接地看出来本地已经git commit
的内容了
需要注意的是,如果是本地已经有文件,这个时候推到远程可能会报错
fatal: destination path ‘文件夹名’ git clone already exists and is not an empty directory
解决办法如下:
git init
git remote add origin https://[email protected]
git fetch
git branch master origin/master
git checkout master
这个时候使用git branch
可以看到有master分支和一个origin/master分支