-
把已有的代码建立git并上传
- git init
- git remote add origin https://gitlab.com/nannantingyu/yii.git
- git add *
- git commit -m "init"
git init
用 git init 在目录中创建新的 Git 仓库。git clone
使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。git add
git add 命令可将该文件添加到缓存-
git status
以查看在你上次提交之后是否有修改。
加了 -s 参数 可以简洁输出
当你的工作区的文件做了修改,此时还没有git add filename,可以使用git checkout -- filename 回到缓冲区的版本vim test.txt #add line "add new line" git add test.txt #加到暂存区 git commit -m "add new line" #提交到本地master分支 git push origin master #推送到远程origin仓库的master分支 vim test.txt #add line "add another line" git add test.txt #加到暂存区 vim test.txt #add line "add third line" git checkout -- test.txt #删除"add third line",回到暂存区的那个版本 git reset HEAD test.txt #可以将暂存区的内容删除,及删掉"add another line" vim test.txt #add line "add forth line" git add test.txt git commit -m "forth commit" git reset --hard HEAD^ #回到上一个提交的版本
-
git diff
执行 git diff 来查看执行 git status 的结果的详细信息。- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
git commit
执行 git commit 将缓存区内容添加到仓库中。
git config --global user.name 'runoob'
git config --global user.email test@runoob.com
git commit -m '第一次版本提交'
如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步
git commit -agit rm
git rm 会将条目从缓存区中移除。默认情况下,git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除。
如果你要在工作目录中留着该文件,可以使用 git rm --cached:
git add newfile
git rm newfile --cache
touch test
git rm -f test #强制从缓存区和硬盘删除git mv
git mv 命令用于移动或重命名一个文件、目录、软连接。-
git branch
分支管理git branch
列出所有分支git branch -d (branchname)
删除分支git branch (branchname)
创建分支git checkout (branchname)
切换分支
当你切换分支的时候,Git 会用该分支的最后提交的快照替换你的工作目录的内容, 所以多个分支不需要多个目录。git merge (branchname)
你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支。-
合并冲突
git checkout testing vim test #aaaaa git add test git commit -m "add line aaaaa in testing" git checkout master vim test #add bbbbb=>aaaaa bbbbb git add test git commit -m "add line bbbb in master" git merge testing #confict #手动解决冲突 git add test #告知冲突已经解决了 git push origin master git checkout testing git pull origin master
git log
提交历史
git log --oneline #简洁模式
git log --graph 选项,查看历史中什么时候出现了分支、合并
git log --reverse 逆向显示所有日志
git log --author 查看特定用户的提交记录
如果你要指定日期,可以执行几个选项:--since 和 --before,但是你也可以用 --until 和 --after。-
git reset
如果想回退到某个版本,则可以使用git resetgit log --oneline #f2fe38f check diff #e6f0010 which remote has been added to git reset --hard HEAD^ #当使用git reset --hard HEAD^ 回退到上一个版本时,使用git log已经无法看到上个版本之后提交的记录,这时可以使用git reflog 查看所有的操作记录 git reflog #f2fe38f HEAD@{1}: reset: moving to HEAD^ #cc16525 HEAD@{2}: commit: third time commit #f2fe38f HEAD@{3}: commit: check diff #e6f0010 HEAD@{4}: commit (initial): which remote has been added to git reset --hard cc16525
-
Git 标签
如果你达到一个重要的阶段,并希望永远记住那个特别的提交快照,你可以使用 git tag 给它打上标签。git tag -a v1.0 #比如说,我们想为我们的项目发布一个"1.0"版本。 我们可以用 git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0"的标签。
-
Git 远程仓库
- git remote add [shortname] [url]
添加远程库
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息
使用以下命令生成SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"
之后会要求确认路径和输入密码
成功的话会在~/下生成.ssh文件夹,进去,打开 id_rsa.pub,复制里面的 key
回到 github 上,进入 Account => Settings(账户配置)
左边选择 SSH and GPG keys,然后点击 New SSH key 按钮,title 设置标题,可以随便填,粘贴在你电脑上生成的 key
为了验证是否成功,输入以下命令:
ssh -T git@github.com - git remote -v
查看当前的远程库
执行时加上 -v 参数,你还可以看到每个别名的实际链接地址。 - git fetch
从远程仓库下载新分支与数据
该命令执行完后需要执行git merge 远程分支到你所在的分支。 - git pull
该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。 - git push
推送你的新分支与数据到某个远端仓库 - git remote rm [别名]
删除远程仓库
- git remote add [shortname] [url]
-
记录一次分支切换
- 当前所在分支为
car_v2.3
, 要切换到新开发的分支car_v2.2.8
git branch // 查看所有的本地分支 git checkout -b car_v2.2.8 origin/feature/car_v2.2.8 // 切换远程分支到本地,起名为car_v2.2.8
- 当前所在分支为
Git使用
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文作者陈云峰,转载请注明。 这篇文章记录个人常用的一些命令,和记不住的一些命令,转载了并不断更新。 Git官网 ...