git操作流程

git操作流程


Git

  • git操作流程
    • 1 初始帐号设置
    • 2初始化本地仓库
    • 3 与远端库相连
    • 4 提交文件到仓库
    • 5 从远端拉取文件到本地
    • 6 如何撤销操作
    • 7 一些可能遇到的错误

1 初始帐号设置

下载git之后,设置用户名和邮箱

git config --global user.name 'yourname'
git config --global user.email 'youremail'

然后检查一下

git config -l

会显示账号相关信息,如下

2初始化本地仓库

接下来就可以创建(初始化)本地的仓库了

git init

3 与远端库相连

但还需要和远端仓库相关联

git remote add origin https://github.com/username/Repositoryname.git

现在就可以在这个目录在放一些需要用的文件,也就是代码了

这个时候可以查看当前目录(工作区)的状态

git status

4 提交文件到仓库

使用命令进行提交

git add *  // 这句命令的意思是添加当前目录所有文件到暂存区,*是通配符,可匹配任意字符
git commit -m '注释内容'   //这句命令的意思是提交到本地仓库

//推送到远端
git push -u origin master

// 删除远程连接
git remote remove origin

//查看分支
git branch

git操作流程_第1张图片
git add 后面可以接多个文件名,这样可以选择性提交
例如,当前目录里面有file1.txt , file2.txt, file3.txt .目前只需要提交1和2,则

git add file1.txt file2.txt
或者
git add file1.txt
git add file2.txt

5 从远端拉取文件到本地

把某个分支上的内容都拉取到本地

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

6 如何撤销操作

撤销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的内容了

7 一些可能遇到的错误

需要注意的是,如果是本地已经有文件,这个时候推到远程可能会报错

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分支

你可能感兴趣的:(问题解决办法,git)